comctl32: Add a test for the initial tooltip window style settings,
make it pass under Wine.
diff --git a/dlls/comctl32/tests/.gitignore b/dlls/comctl32/tests/.gitignore
index 207da2c..5ed31bc 100644
--- a/dlls/comctl32/tests/.gitignore
+++ b/dlls/comctl32/tests/.gitignore
@@ -9,5 +9,6 @@
tab.ok
testlist.c
toolbar.ok
+tooltips.ok
treeview.ok
updown.ok
diff --git a/dlls/comctl32/tests/Makefile.in b/dlls/comctl32/tests/Makefile.in
index fc9881d..1528964 100644
--- a/dlls/comctl32/tests/Makefile.in
+++ b/dlls/comctl32/tests/Makefile.in
@@ -15,6 +15,7 @@
subclass.c \
tab.c \
toolbar.c \
+ tooltips.c \
treeview.c \
updown.c
diff --git a/dlls/comctl32/tests/tooltips.c b/dlls/comctl32/tests/tooltips.c
new file mode 100644
index 0000000..ee935b4
--- /dev/null
+++ b/dlls/comctl32/tests/tooltips.c
@@ -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 --git a/dlls/comctl32/tooltips.c b/dlls/comctl32/tooltips.c
index 39d981b..c16fd7e 100644
--- a/dlls/comctl32/tooltips.c
+++ b/dlls/comctl32/tooltips.c
@@ -2400,7 +2400,7 @@
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