mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice
synced 2025-12-31 19:39:13 +00:00
client: update menu if needed when exiting full-screen mode (#758260)
This commit is contained in:
parent
24d5852611
commit
a91b0b3ff7
@ -100,6 +100,7 @@ RedScreen::RedScreen(Application& owner, int id, const std::string& name, int wi
|
||||
, _mouse_captured (false)
|
||||
, _active_layer_change_event (false)
|
||||
, _pointer_on_screen (false)
|
||||
, _menu_needs_update (false)
|
||||
{
|
||||
region_init(&_dirty_region);
|
||||
set_name(name);
|
||||
@ -784,6 +785,9 @@ void RedScreen::exit_full_screen()
|
||||
_origin.x = _origin.y = 0;
|
||||
_window.set_origin(0, 0);
|
||||
show();
|
||||
if (_menu_needs_update) {
|
||||
update_menu();
|
||||
}
|
||||
_full_screen = false;
|
||||
_out_of_sync = false;
|
||||
_frame_area = false;
|
||||
@ -875,7 +879,8 @@ void RedScreen::external_show()
|
||||
void RedScreen::update_menu()
|
||||
{
|
||||
AutoRef<Menu> menu(_owner.get_app_menu());
|
||||
_window.set_menu(*menu);
|
||||
int ret = _window.set_menu(*menu);
|
||||
_menu_needs_update = (ret != 0); /* try again if menu update failed */
|
||||
}
|
||||
|
||||
void RedScreen::on_exposed_rect(const SpiceRect& area)
|
||||
|
||||
@ -178,6 +178,7 @@ private:
|
||||
bool _key_interception;
|
||||
bool _update_by_timer;
|
||||
bool _size_locked;
|
||||
bool _menu_needs_update;
|
||||
int _forec_update_timer;
|
||||
AutoRef<UpdateTimer> _update_timer;
|
||||
RedDrawable* _composit_area;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user