[gtk+/gtk-3-14] W32: Only override window miximized position for CSDed windows
- From: Руслан Ижбулатов <ruslanizhb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/gtk-3-14] W32: Only override window miximized position for CSDed windows
- Date: Thu, 26 Mar 2015 17:08:38 +0000 (UTC)
commit b76e9e35e6fa82d970ab234c8989f524f16a2826
Author: Руслан Ижбулатов <lrn1986 gmail com>
Date: Thu Mar 26 17:01:59 2015 +0000
W32: Only override window miximized position for CSDed windows
This fixes an issue with non-CSDed windows being improperly positioned
when maximized, which was introduced by the previous commit.
https://bugzilla.gnome.org/show_bug.cgi?id=746821
gdk/win32/gdkevents-win32.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
---
diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c
index d206efa..c55cee0 100644
--- a/gdk/win32/gdkevents-win32.c
+++ b/gdk/win32/gdkevents-win32.c
@@ -1837,6 +1837,7 @@ gdk_event_translate (MSG *msg,
RECT rect, *drag, orig_drag;
POINT point;
MINMAXINFO *mmi;
+ LONG style;
HWND hwnd;
HCURSOR hcursor;
BYTE key_state[256];
@@ -3044,6 +3045,8 @@ gdk_event_translate (MSG *msg,
mmi->ptMaxPosition.x, mmi->ptMaxPosition.y,
mmi->ptMaxSize.x, mmi->ptMaxSize.y));
+ style = GetWindowLong (GDK_WINDOW_HWND (window), GWL_STYLE);
+
if (impl->hint_flags & GDK_HINT_MIN_SIZE)
{
rect.left = rect.top = 0;
@@ -3072,7 +3075,10 @@ gdk_event_translate (MSG *msg,
mmi->ptMaxTrackSize.x = maxw > 0 && maxw < G_MAXSHORT ? maxw : G_MAXSHORT;
mmi->ptMaxTrackSize.y = maxh > 0 && maxh < G_MAXSHORT ? maxh : G_MAXSHORT;
}
- else
+ /* Assume that these styles are incompatible with CSD,
+ * so there's no reason for us to override the defaults.
+ */
+ else if ((style & (WS_BORDER | WS_THICKFRAME)) == 0)
{
HMONITOR winmon;
MONITORINFO moninfo;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]