aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2015-03-04 15:20:54 -0500
committerMike Blumenkrantz <zmike@osg.samsung.com>2015-03-04 15:20:54 -0500
commit2b03507366ead5a47165610149c865877b8e7b9c (patch)
tree8b2227a781ae39b47e4930003e5318abdc5021db
parentcolorselector: Check return value of elm_layout_theme_set as other widgets do. (diff)
downloadelementary-2b03507366ead5a47165610149c865877b8e7b9c.tar.gz
elm_win now accurately reapplies framespace in all cases for fullscreen wins
also related opaque region fix
-rw-r--r--src/lib/elm_win.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c
index 1bfdd9370..27eb1168e 100644
--- a/src/lib/elm_win.c
+++ b/src/lib/elm_win.c
@@ -1159,6 +1159,16 @@ _elm_win_frame_obj_update(Elm_Win_Data *sd)
int ox, oy, ow, oh;
int sx, sy, sw, sh;
int x, y, w, h;
+
+ if (sd->fullscreen)
+ {
+ evas_output_framespace_set(sd->evas, 0, 0, 0, 0);
+#ifdef HAVE_ELEMENTARY_WAYLAND
+ ecore_evas_geometry_get(sd->ee, NULL, NULL, &ow, &oh);
+ ecore_wl_window_opaque_region_set(sd->wl.win, 0, 0, ow, oh);
+ return;
+#endif
+ }
evas_object_geometry_get(sd->frame_obj, &fx, &fy, &fw, &fh);
evas_object_geometry_get(sd->client_obj, &ox, &oy, &ow, &oh);
evas_object_geometry_get(sd->spacer_obj, &sx, &sy, &sw, &sh);
@@ -1256,6 +1266,7 @@ _elm_win_state_change(Ecore_Evas *ee)
}
if (ch_fullscreen)
{
+ _elm_win_frame_obj_update(sd);
if (sd->fullscreen)
{
int w, h;
@@ -1263,7 +1274,6 @@ _elm_win_state_change(Ecore_Evas *ee)
evas_object_smart_callback_call(obj, SIG_FULLSCREEN, NULL);
if (sd->frame_obj)
evas_object_hide(sd->frame_obj);
- evas_output_framespace_set(sd->evas, 0, 0, 0, 0);
ecore_evas_geometry_get(sd->ee, NULL, NULL, &w, &h);
ecore_evas_resize(sd->ee, w, h);
}
@@ -1271,10 +1281,7 @@ _elm_win_state_change(Ecore_Evas *ee)
{
evas_object_smart_callback_call(obj, SIG_UNFULLSCREEN, NULL);
if (sd->frame_obj)
- {
- evas_object_show(sd->frame_obj);
- _elm_win_frame_obj_update(sd);
- }
+ evas_object_show(sd->frame_obj);
}
}
if (ch_maximized)