summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWouter Paesen <wouter@blue-gate.be>2012-12-28 21:55:51 +0100
committerEmmanuele Bassi <ebassi@gnome.org>2013-01-16 22:28:26 +0000
commit1b1cffbb43f61d3f90995419d967aed26e597c65 (patch)
tree6c8353f7db4373d3f76c47fdbac8886adebbc05c
parent650366c9042130f184dd65cedd9f0f4392175590 (diff)
downloadclutter-1b1cffbb43f61d3f90995419d967aed26e597c65.tar.gz
* use requested value of fullscreen state in clutter_stage_win32_set_fullscreen instead of old value
https://bugzilla.gnome.org/show_bug.cgi?id=690836
-rw-r--r--clutter/win32/clutter-stage-win32.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/clutter/win32/clutter-stage-win32.c b/clutter/win32/clutter-stage-win32.c
index fcfbd600c..bcc39a7d3 100644
--- a/clutter/win32/clutter-stage-win32.c
+++ b/clutter/win32/clutter-stage-win32.c
@@ -267,12 +267,13 @@ clutter_stage_win32_set_cursor_visible (ClutterStageWindow *stage_window,
}
static LONG
-get_window_style (ClutterStageWin32 *stage_win32)
+get_requested_window_style (ClutterStageWin32 *stage_win32,
+ gboolean want_fullscreen)
{
ClutterStage *wrapper = stage_win32->wrapper;
/* Fullscreen mode shouldn't have any borders */
- if (_clutter_stage_is_fullscreen (wrapper))
+ if (want_fullscreen)
return WS_POPUP;
/* Otherwise it's an overlapped window but if it isn't resizable
then it shouldn't have a thick frame */
@@ -282,6 +283,15 @@ get_window_style (ClutterStageWin32 *stage_win32)
return WS_OVERLAPPEDWINDOW & ~WS_THICKFRAME & ~WS_MAXIMIZEBOX;
}
+static LONG
+get_window_style (ClutterStageWin32 *stage_win32)
+{
+ ClutterStage *wrapper = stage_win32->wrapper;
+
+ return get_requested_window_style (stage_win32,
+ _clutter_stage_is_fullscreen (wrapper));
+}
+
static void
clutter_stage_win32_set_user_resize (ClutterStageWindow *stage_window,
gboolean value)
@@ -327,7 +337,7 @@ clutter_stage_win32_set_fullscreen (ClutterStageWindow *stage_window,
{
/* Update the window style but preserve the visibility */
SetWindowLongW (hwnd, GWL_STYLE,
- get_window_style (stage_win32)
+ get_requested_window_style (stage_win32, value)
| (old_style & WS_VISIBLE));
/* Update the window size */
if (value)