Changeset 4034954c in mainline for uspace/lib/ui/src/window.c


Ignore:
Timestamp:
2023-09-27T20:01:51Z (10 months ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
master, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
e54de59
Parents:
5afc1aa
Message:

Do not forget to close system menu. Close first, open second!

When moving out of system menu to menu bar we would forget to
close it. This was only causing noticeable problems in text mode.
Also we first close the current menu, then open the other one,
as juggling multiple popup windows in text mode could cause problems.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/ui/src/window.c

    r5afc1aa r4034954c  
    10611061
    10621062        if (window->mbar != NULL) {
     1063                ui_wdecor_sysmenu_hdl_set_active(window->wdecor, false);
     1064                ui_menu_close(window->sysmenu);
    10631065                ui_menu_bar_select_last(window->mbar, false, idev_id);
    1064                 ui_wdecor_sysmenu_hdl_set_active(window->wdecor, false);
    10651066        }
    10661067}
     
    10771078
    10781079        if (window->mbar != NULL) {
     1080                ui_wdecor_sysmenu_hdl_set_active(window->wdecor, false);
     1081                ui_menu_close(window->sysmenu);
    10791082                ui_menu_bar_select_first(window->mbar, false, idev_id);
    1080                 ui_wdecor_sysmenu_hdl_set_active(window->wdecor, false);
    10811083        }
    10821084}
     
    10951097
    10961098        if (window->mbar != NULL) {
     1099                ui_wdecor_sysmenu_hdl_set_active(window->wdecor, false);
     1100                ui_menu_close(window->sysmenu);
    10971101                ui_menu_bar_press_accel(window->mbar, c, idev_id);
    1098                 ui_wdecor_sysmenu_hdl_set_active(window->wdecor, false);
    10991102        }
    11001103}
     
    15501553        ui_window_t *window = (ui_window_t *)arg;
    15511554
    1552         (void)sysmenu;
    1553 
    1554         if (window->mbar != NULL)
     1555        if (window->mbar != NULL) {
     1556                ui_wdecor_sysmenu_hdl_set_active(window->wdecor, false);
     1557                ui_menu_close(sysmenu);
    15551558                ui_menu_bar_select_last(window->mbar, true, idev_id);
     1559        }
    15561560}
    15571561
     
    15661570        ui_window_t *window = (ui_window_t *)arg;
    15671571
    1568         (void)sysmenu;
    1569 
    1570         if (window->mbar != NULL)
     1572        if (window->mbar != NULL) {
     1573                ui_wdecor_sysmenu_hdl_set_active(window->wdecor, false);
     1574                ui_menu_close(sysmenu);
    15711575                ui_menu_bar_select_first(window->mbar, true, idev_id);
     1576        }
    15721577}
    15731578
Note: See TracChangeset for help on using the changeset viewer.