GDK W32: Don't use SetWindowLong() to set/unset WS_EX_TOPMOST
authorРуслан Ижбулатов <lrn1986@gmail.com>
Sat, 21 Nov 2015 03:48:55 +0000 (03:48 +0000)
committerРуслан Ижбулатов <lrn1986@gmail.com>
Thu, 26 Nov 2015 16:26:32 +0000 (16:26 +0000)
commitdb1b24233e758200ab9bc23fdb9b64dba4876a00
tree6a02bce0d5f9e642ae7d0b94f2dded413953a4e0
parent1e11b556066c4e3129dc851a8664b63b50083f2e
GDK W32: Don't use SetWindowLong() to set/unset WS_EX_TOPMOST

While searching for the cause of bug 746745 it was discovered that one could
not set WS_EX_TOPMOST extended window style with SetWindowLong(),
but must use SetWindowPos() for that purpose.

This was never a problem most likely because it is highly unlikely for windows
to acquire/lose WS_EX_TOPMOST after they are created, by means other
than SetWindowPos() (which GTK does use to raise/lower windows and
set/remove keep_above), and because trying to set/unset WS_EX_TOPMOST with
SetWindowLong() results in WS_EX_TOPMOST merely not being set/unset (that is,
other styles are still set/unset within the same call and no error is
signalled).

https://bugzilla.gnome.org/show_bug.cgi?id=758483
gdk/win32/gdkwindow-win32.c