1
0
Fork 0
mutter-performance-source/src/core
Jonas Ådahl 5d3e7d6ffd window: Always sync window geometry on state change
When a state changed, e.g. a window went from unfullscreen to
fullscreen, always sync the window geometry, otherwise a compositor
application (e.g. gnome-shell) might end up with an unfinished window
state transition effect.

Without always syncing, the compositor plugin will see a 'size-change'
event, as a result of the state change, but if the size didn't change,
it would never see the 'size-changed' event. If an effect, for example
gnome-shell's fullscreen effect, is triggered on 'size-change' it might
rely on the actual size change to not get stuck. This commit allows it
to have this dependency.

This fixes a bug where a fullscreen effect gets "stuck" when a window
goes fullscreen without changing the window geometry.

https://bugzilla.gnome.org/show_bug.cgi?id=780292
2017-03-23 22:12:25 +08:00
..
bell.c bell: Fallback to fullscreen flash if no window was passed 2016-03-21 11:38:31 +08:00
bell.h bell: Let the X11 caller deal with the X11 fallback 2016-03-10 12:34:56 +08:00
boxes-private.h meta/boxes: typedef cairo_rectangle_int_t MetaRectangle 2016-07-20 14:11:25 +02:00
boxes.c meta/boxes: typedef cairo_rectangle_int_t MetaRectangle 2016-07-20 14:11:25 +02:00
constraints.c constraints: Make zero sized windows be placed in the correct monitor 2017-02-21 19:51:34 +01:00
constraints.h Remove trailing whitespace 2014-05-02 09:34:48 -04:00
core.c core: Remove meta_core_change_workspace() 2015-07-23 12:13:45 +02:00
core.h core: Remove meta_core_get_frame_workspace() declaration 2015-07-23 12:13:45 +02:00
delete.c Fix a translator comment 2017-01-28 01:38:29 +01:00
display-private.h core: Add MetaDisplay::show-osd signal 2017-02-10 20:11:19 +01:00
display.c display: Check we have a screen before freeing it 2017-02-19 20:56:25 +01:00
edge-resistance.c window: Remove meta_window_move as well 2014-05-27 15:44:33 -04:00
edge-resistance.h window: Remove meta_window_move as well 2014-05-27 15:44:33 -04:00
errors.c Remove trailing whitespace 2014-05-02 09:34:48 -04:00
events.c backends: Have meta_input_settings_handle_pad_button() take an event 2017-02-10 20:11:19 +01:00
events.h Move all X11 event processing to a new file in x11/ 2014-06-11 16:28:45 -04:00
frame.c Always use the default screen 2016-07-23 10:55:02 +08:00
frame.h frame: Put a MetaUIFrame* in our MetaFrame 2014-12-31 22:43:00 -08:00
keybindings-private.h keybindings: Keep virtual modifier masks around 2016-04-19 18:02:25 +02:00
keybindings.c keybindings: fix erratic raise_or_lower behavior 2017-02-07 14:30:38 +01:00
main-private.h core: Add private API to override compositor configuration 2017-01-25 16:28:52 +08:00
main.c backends/x11: Split up X11 backend into Cm and Nested 2017-02-15 14:04:16 +08:00
meta-accel-parse.c keybindings: Avoid using unitialized memory and grabbing random keys 2016-05-12 20:06:02 +02:00
meta-accel-parse.h keybindings: Have meta_accelerator_parse take a MetaKeyCombo 2015-01-06 19:11:57 -08:00
meta-border.c MetaBorder: Use float constants and functions instead of double variants 2016-02-16 19:02:48 +08:00
meta-border.h Move out generic math parts out of the native barrier implementation 2016-02-16 19:02:48 +08:00
meta-gesture-tracker-private.h events: Simplify gesture event management 2014-07-24 18:05:56 +02:00
meta-gesture-tracker.c events: Simplify gesture event management 2014-07-24 18:05:56 +02:00
mutter.c Use Unicode in translatable strings 2017-02-16 02:44:16 +01:00
place.c monitor-manager: Move logical monitor into its own file 2017-01-25 16:28:53 +08:00
place.h core: Add support for custom window placement rules 2016-08-25 12:19:40 +08:00
prefs.c theme: Complete removal of "fringe" titlebar button support 2015-10-16 04:13:14 +02:00
restart-helper.c Add a framework for restarting the compositor with nice visuals 2014-07-16 18:09:25 -04:00
restart.c restart: Make meta_restart() work without a message 2016-06-27 20:23:49 +02:00
screen-private.h Move logical monitor neighbor API into monitor manager 2017-01-25 16:28:52 +08:00
screen.c Use Unicode in translatable strings 2017-02-16 02:44:16 +01:00
stack-tracker.c Always use the default screen 2016-07-23 10:55:02 +08:00
stack-tracker.h stack-tracker: Make lower_below / raise_above internal as well 2014-09-12 16:56:27 -06:00
stack.c monitor-manager: Move logical monitor into its own file 2017-01-25 16:28:53 +08:00
stack.h Revert "window: Remove old tiling code" 2016-01-10 15:16:09 +01:00
startup-notification-private.h core: Refactor startup notification into a separate object 2016-02-19 17:41:03 +01:00
startup-notification.c Always use the default screen 2016-07-23 10:55:02 +08:00
testboxes.c testboxes: Don't avoid parameter list 2015-09-24 03:08:23 +02:00
util-private.h core: Add private API to override compositor configuration 2017-01-25 16:28:52 +08:00
util.c configure.ac: Add AC_GNU_SOURCE 2016-07-20 14:23:48 +08:00
window-private.h screen: Don't use monitor indices in check_fullscreen_func 2017-01-25 16:28:52 +08:00
window.c window: Always sync window geometry on state change 2017-03-23 22:12:25 +08:00
workspace-private.h workspace: Don't keep state given logical monitor indices 2017-01-25 16:28:52 +08:00
workspace.c monitor-manager: Move logical monitor into its own file 2017-01-25 16:28:53 +08:00