Add a test for the initial tooltip window style settings, make it pass under Wine

Dmitry Timoshkov dmitry at baikal.ru
Mon Dec 19 05:40:09 CST 2005


Hello,

Changelog:
    Dmitry Timoshkov <dmitry at codeweavers.com>
    Add a test for the initial tooltip window style settings, make it
    pass under Wine.

diff -up cvs/hq/wine/dlls/comctl32/tests/Makefile.in wine/dlls/comctl32/tests/Makefile.in
--- cvs/hq/wine/dlls/comctl32/tests/Makefile.in	2005-11-22 12:40:56.000000000 +0800
+++ wine/dlls/comctl32/tests/Makefile.in	2005-12-19 19:16:36.000000000 +0800
@@ -15,6 +15,7 @@ CTESTS = \
 	subclass.c \
 	tab.c \
 	toolbar.c \
+	tooltips.c \
 	treeview.c \
 	updown.c
 
diff -up cvs/hq/wine/dlls/comctl32/tests/tooltips.c wine/dlls/comctl32/tests/tooltips.c
--- cvs/hq/wine/dlls/comctl32/tests/tooltips.c	1970-01-01 08:00:00.000000000 +0800
+++ wine/dlls/comctl32/tests/tooltips.c	2005-12-19 19:18:32.000000000 +0800
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2005 Dmitry Timoshkov
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#include <assert.h>
+#include <windows.h>
+#include <commctrl.h>
+
+#include "wine/test.h"
+
+static void test_create_tooltip(void)
+{
+    HWND parent, hwnd;
+    DWORD style, exp_style;
+
+    parent = CreateWindowEx(0, "static", NULL, WS_POPUP,
+                          0, 0, 0, 0,
+                          NULL, NULL, NULL, 0);
+    assert(parent);
+
+    hwnd = CreateWindowEx(0, TOOLTIPS_CLASS, NULL, 0x7fffffff | WS_POPUP,
+                          10, 10, 300, 100,
+                          parent, NULL, NULL, 0);
+    assert(hwnd);
+
+    style = GetWindowLong(hwnd, GWL_STYLE);
+    trace("style = %08lx\n", style);
+    exp_style = 0x7fffffff | WS_POPUP;
+    exp_style &= ~(WS_CHILD | WS_MAXIMIZE | WS_BORDER | WS_DLGFRAME);
+    ok(style == exp_style,"wrong style %08lx/%08lx\n", style, exp_style);
+
+    DestroyWindow(hwnd);
+
+    hwnd = CreateWindowEx(0, TOOLTIPS_CLASS, NULL, 0,
+                          10, 10, 300, 100,
+                          parent, NULL, NULL, 0);
+    assert(hwnd);
+
+    style = GetWindowLong(hwnd, GWL_STYLE);
+    trace("style = %08lx\n", style);
+    ok(style == (WS_POPUP | WS_CLIPSIBLINGS | WS_BORDER),
+       "wrong style %08lx\n", style);
+
+    DestroyWindow(hwnd);
+
+    DestroyWindow(parent);
+}
+
+START_TEST(tooltips)
+{
+    InitCommonControls();
+
+    test_create_tooltip();
+}
diff -up cvs/hq/wine/dlls/comctl32/tooltips.c wine/dlls/comctl32/tooltips.c
--- cvs/hq/wine/dlls/comctl32/tooltips.c	2005-11-24 16:52:53.000000000 +0800
+++ wine/dlls/comctl32/tooltips.c	2005-12-19 19:24:11.000000000 +0800
@@ -2400,7 +2400,7 @@ TOOLTIPS_NCCreate (HWND hwnd, WPARAM wPa
     DWORD dwStyle = GetWindowLongW (hwnd, GWL_STYLE);
     DWORD dwExStyle = GetWindowLongW (hwnd, GWL_EXSTYLE);
 
-    dwStyle &= 0x0000FFFF;
+    dwStyle &= ~(WS_CHILD | /*WS_MAXIMIZE |*/ WS_BORDER | WS_DLGFRAME);
     dwStyle |= (WS_POPUP | WS_BORDER | WS_CLIPSIBLINGS);
 
     /* WS_BORDER only draws a border round the window rect, not the





More information about the wine-patches mailing list