- if (!osys->ch_fullscreen &&
- !osys->ch_display_size &&
- !osys->reset_pictures &&
+
+ vlc_mutex_lock(&osys->lock);
+
+ bool ch_fullscreen = osys->ch_fullscreen;
+ bool is_fullscreen = osys->is_fullscreen;
+ osys->ch_fullscreen = false;
+
+ bool ch_wm_state = osys->ch_wm_state;
+ unsigned wm_state = osys->wm_state;
+ osys->ch_wm_state = false;
+
+ bool ch_display_size = osys->ch_display_size;
+ int display_width = osys->display_width;
+ int display_height = osys->display_height;
+ bool display_is_fullscreen = osys->display_is_fullscreen;
+ bool display_is_forced = osys->display_is_forced;
+ osys->ch_display_size = false;
+
+ bool reset_pictures;
+ if (allow_reset_pictures) {
+ reset_pictures = osys->reset_pictures;
+ osys->reset_pictures = false;
+ } else {
+ reset_pictures = false;
+ }
+
+ vlc_mutex_unlock(&osys->lock);
+
+ if (!ch_fullscreen &&
+ !ch_display_size &&
+ !reset_pictures &&