gnome-shell/js/ui
Sebastian Keller 38bf547ce7 calendar: Emit selected-date-changed before rebuilding the calendar
If the cursor was placed on one of the widgets that get removed when
rebuilding the calendar due to a month change, destroying the hovered
widget will trigger a repick. This repick can then trigger an allocation
while not all buttons of the calendar are present.

If the last allocation before selected-date-changed is emitted was from
such an incomplete state, DateMenuButton will still freeze the layout in
this state in its signal handler.

What freezing the layout in DateMenuButton is supposed to do is to
prevent size changes of the menu when changing days, but for this the
layout needs to be frozen before potentially rebuilding calendar. This
change ensures that by emitting the signal earlier.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5411
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5469
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2989>
(cherry picked from commit 23bcff3348)
2023-10-31 22:45:56 +00:00
..
components cleanup: Fixup wrong JSDoc comments 2023-08-09 15:10:38 +00:00
status status/system: Use Intl to format battery percentage 2023-09-22 17:03:17 +00:00
accessDialog.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
altTab.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
animation.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
appDisplay.js appDisplay: Add Pardus apps to default folder list 2023-09-02 16:55:36 +00:00
appFavorites.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
appMenu.js cleanup: Remove spaces in object literals 2023-08-09 15:10:37 +00:00
audioDeviceSelection.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
background.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
backgroundMenu.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
barLevel.js barLevel: Reverse direction in RTL 2023-09-15 20:52:14 +03:00
boxpointer.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
calendar.js calendar: Emit selected-date-changed before rebuilding the calendar 2023-10-31 22:45:56 +00:00
checkBox.js cleanup: Remove spaces in object literals 2023-08-09 15:10:37 +00:00
closeDialog.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
components.js js: Port to modules 2023-08-06 13:02:49 +02:00
ctrlAltTab.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
dash.js dash: Move getAppFromSource() into static method 2023-08-20 01:30:55 +00:00
dateMenu.js js: Port to modules 2023-08-06 13:02:49 +02:00
dialog.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
dnd.js cleanup: Fixup wrong JSDoc comments 2023-08-09 15:10:38 +00:00
edgeDragAction.js Adapt to the new Mtk library 2023-08-31 03:44:32 +00:00
endSessionDialog.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
environment.js environment: Add Meta.Rectangle compatibility 2023-08-31 22:05:32 +00:00
extensionDownloader.js js: Port Config to ESM 2023-08-10 17:42:23 +00:00
extensionSystem.js extensionSystem: Update immediately after major upgrades 2023-09-15 12:54:41 +00:00
focusCaretTracker.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
grabHelper.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
ibusCandidatePopup.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
iconGrid.js iconGrid: Export zoomOutActor() 2023-08-25 16:21:03 +00:00
inhibitShortcutsDialog.js js: Port to modules 2023-08-06 13:02:49 +02:00
init.js init: Include the error stack in the context termination error message 2023-08-18 00:31:10 +00:00
kbdA11yDialog.js cleanup: Use consistent 4-space indent 2023-08-09 15:10:37 +00:00
keyboard.js keyboard: Only reset to the default level on unlocked latched levels 2023-09-08 19:42:38 +00:00
layout.js layout: Destroy panel barrier on shutdown 2023-10-03 15:00:45 +08:00
lightbox.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
listModes.js listModes: Port listModes command to ES module 2023-08-05 22:16:23 +02:00
locatePointer.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
lookingGlass.js lookingGlass: Export the Inspector class 2023-08-17 19:32:42 +02:00
magnifier.js cleanup: Fixup wrong JSDoc comments 2023-08-09 15:10:38 +00:00
main.js main: Remove transitions from child adjustments 2023-09-14 16:46:31 +02:00
messageList.js messageList: Use duration 0 when not animating 2023-10-31 22:45:56 +00:00
messageTray.js messageTray: Use duration 0 when not animating 2023-10-31 22:45:56 +00:00
modalDialog.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
mpris.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
notificationDaemon.js js: Port Config to ESM 2023-08-10 17:42:23 +00:00
osdMonitorLabeler.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
osdWindow.js osdWindow: Allow label and level to be null 2023-08-28 17:16:11 +00:00
overview.js overview: Handle unredirection in OverviewShown state machine 2023-09-27 11:38:16 +02:00
overviewControls.js js: Export variables and classes for Workspace Matrix extension 2023-10-31 22:45:56 +00:00
padOsd.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
pageIndicators.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
panel.js panel: Switch workspaces when scrolling over activities 2023-09-01 15:07:22 +00:00
panelMenu.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
pointerA11yTimeout.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
pointerWatcher.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
popupMenu.js popupMenu: Use duration 0 when not animating 2023-10-31 22:45:56 +00:00
quickSettings.js quickSettings: Add getFirstItem() method 2023-08-20 01:54:09 +02:00
remoteSearch.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
ripples.js js: Port to modules 2023-08-06 13:02:49 +02:00
runDialog.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
screenShield.js screenShield: Use duration 0 when not animating 2023-10-31 22:45:56 +00:00
screenshot.js screenshot: Only handle mode-switch shortcut when supported 2023-09-07 18:23:29 +02:00
scripting.js js: Port Config to ESM 2023-08-10 17:42:23 +00:00
search.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
searchController.js cleanup: Remove spaces in object literals 2023-08-09 15:10:37 +00:00
sessionMode.js js: Port Config to ESM 2023-08-10 17:42:23 +00:00
shellDBus.js js: Port Config to ESM 2023-08-10 17:42:23 +00:00
shellEntry.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
shellMountOperation.js cleanup: Fixup wrong JSDoc comments 2023-08-09 15:10:38 +00:00
slider.js slider: Ignore left/right scroll directions 2023-09-22 17:55:12 +02:00
swipeTracker.js Adapt to the new Mtk library 2023-08-31 03:44:32 +00:00
switcherPopup.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
switchMonitor.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
unlockDialog.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
userWidget.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
welcomeDialog.js js: Port Config to ESM 2023-08-10 17:42:23 +00:00
windowAttentionHandler.js cleanup: Always use single quotes 2023-08-09 15:10:37 +00:00
windowManager.js js: Export variables and classes for Workspace Matrix extension 2023-10-31 22:45:56 +00:00
windowMenu.js windowMenu: Use NONE ornament by default 2023-08-31 21:35:23 +00:00
windowPreview.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
workspace.js cleanup: Fixup wrong JSDoc comments 2023-08-09 15:10:38 +00:00
workspaceAnimation.js js: Export variables and classes for Workspace Matrix extension 2023-10-31 22:45:56 +00:00
workspacesView.js workspaceThumbnail: Expose maxThumbnailScale as property 2023-09-06 11:35:10 +00:00
workspaceSwitcherPopup.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
workspaceThumbnail.js js: Export variables and classes for Workspace Matrix extension 2023-10-31 22:45:56 +00:00
xdndHandler.js cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00