keybd_event patch and default combobox height patch
Peter Hercek
peter at syncad.com
Tue Jan 4 05:41:49 CST 2005
server/queue.c
Fixes an error in keybd_event function. This function sends events even
between different processes on win32. This was not handled in wine.
dlls/user/combo.c
The default size for comboxes was 2 pixels bigger in wine at the
standard dpi.
The patches are against wine 20041019.
Index: server/queue.c
===================================================================
--- server/queue.c (revision 29655)
+++ server/queue.c (working copy)
@@ -1073,6 +1073,8 @@
*msg_code = msg->msg;
if (is_keyboard_msg( msg ))
{
+ if (!input || !(input->focus) || !(input->active))
+ input = foreground_input;
if (input && !(win = input->focus))
{
win = input->active;
Index: dlls/user/combo.c
===================================================================
--- dlls/user/combo.c (revision 29655)
+++ dlls/user/combo.c (working copy)
@@ -207,8 +207,10 @@
* The height of the text area is set in two ways.
* It can be set explicitly through a combobox message or through a
* WM_MEASUREITEM callback.
- * If this is not the case, the height is set to 13 dialog units.
- * This height was determined through experimentation.
+ * If this is not the case, the height is set to 12 dialog units.
+ * This height was determined through experimentation. It was
+ * set to 13 originally but this led to higher comboboxes than
+ * in windows.
*/
static INT CBGetTextAreaHeight(
HWND hwnd,
@@ -239,7 +241,7 @@
ReleaseDC(hwnd, hDC);
- iTextItemHeight = ((13 * baseUnitY) / 8);
+ iTextItemHeight = ((12 * baseUnitY) / 8);
/*
* This "formula" calculates the height of the complete control.
More information about the wine-patches
mailing list