gnome-shell/js/ui
Ray Strode 55d1c7e2ab background: fix cancellable issue
If we have the following sequence:

    cache.getImageContent({ filename: "foo", cancellable: cancellable1 });
    cache.getImageContent({ filename: "foo", cancellable: cancellable2 });
    cancellable1.cancel();

Then the second load will complete with "null" as its content, even though
it was never cancelled, and we'll see a blank image. Meanwhile, since the
second load simply appends to the list of callers for the second load,
cancellable2 does absolutely nothing: cancelling it won't stop the load,
and it will still receive onFinished handling.

To prevent this from happening, give the actual load operation its own
Gio.Cancellable, which is "ref-counted" -- only cancel it when all the other
possible callers cancel.

Based on work from Jasper St. Pierre <jstpierre@macheye.net>

https://bugzilla.gnome.org/show_bug.cgi?id=722149
2014-03-12 12:15:43 -04:00
..
components telepathyClient: Use locale format for timestamps 2014-02-18 11:27:34 +01:00
status network: Don't show network-offline-symbolic in the top bar 2014-03-11 10:01:07 -04:00
altTab.js altTab: Scale thumbnails by the scale factor 2014-02-16 16:55:55 +01:00
animation.js js: Use SOURCE_CONTINUE/SOURCE_REMOVE constants in source functions 2013-12-16 18:27:19 +01:00
appDisplay.js appDisplay: Add time to view switch animation 2014-02-17 13:31:52 +01:00
appFavorites.js dash: reload favorites when the installed app change 2013-08-31 18:55:24 +02:00
background.js background: fix cancellable issue 2014-03-12 12:15:43 -04:00
backgroundMenu.js layout: Add a standard dummy cursor 2014-01-14 18:56:45 -05:00
boxpointer.js boxpointer: Add condition checks for -arrow-rise:0px 2014-01-15 18:28:31 +01:00
calendar.js calendar: Grab key focus when user changes day 2014-03-07 19:18:32 +01:00
checkBox.js checkBox: Remove custom container implementation 2013-08-20 08:06:30 +02:00
ctrlAltTab.js Rework window / actor focus handling 2013-07-08 17:05:16 -04:00
dash.js dash: account for scale factor to determine icon size 2014-02-16 07:49:25 -08:00
dateMenu.js Calendar: make current date label clickable 2014-03-05 16:40:56 +01:00
dnd.js js: Use EVENT_PROPAGATE/EVENT_STOP constants in event handlers 2013-12-16 18:27:19 +01:00
endSessionDialog.js endSessionDialog: Add extra strings for translation 2014-02-20 00:27:35 +01:00
environment.js environment: Add some convenience LayoutManager monkey-patching 2013-07-24 15:22:05 +02:00
extensionDownloader.js Use recommended quotes 2014-01-17 16:34:44 -05:00
extensionSystem.js extensionSystem: Add a gsettings key to disable version validation 2014-02-19 17:07:38 +01:00
focusCaretTracker.js Magnifier: don't listen for focus/tracker events if the magnifier is not active 2014-02-13 19:43:41 +01:00
grabHelper.js js: Use EVENT_PROPAGATE/EVENT_STOP constants in event handlers 2013-12-16 18:27:19 +01:00
ibusCandidatePopup.js layout: Add a standard dummy cursor 2014-01-14 18:56:45 -05:00
iconGrid.js iconGrid: don't force icon size to the BaseIcon 2014-02-16 07:49:25 -08:00
keyboard.js js: Use EVENT_PROPAGATE/EVENT_STOP constants in event handlers 2013-12-16 18:27:19 +01:00
layout.js hdpi: Revert hacks 2014-02-18 23:40:34 +01:00
lightbox.js Lightbox: complete radial effect for modal dialogs 2014-03-11 17:14:07 +01:00
lookingGlass.js LookingGlass: add GObject and Gio to the ns available inline 2014-03-06 16:57:41 +01:00
magnifier.js Magnifier: clip the UI group clone to the allocation 2014-02-13 19:43:44 +01:00
magnifierDBus.js Stringify the xml definitions for E4X removal 2013-10-25 08:57:27 +11:00
main.js js: Use SOURCE_CONTINUE/SOURCE_REMOVE constants in source functions 2013-12-16 18:27:19 +01:00
messageTray.js messageTray: Make sure that the source actor is square 2014-02-26 18:15:38 +01:00
modalDialog.js Add a radial background shade for modal dialogs 2014-01-19 16:02:46 +01:00
notificationDaemon.js js: Use SOURCE_CONTINUE/SOURCE_REMOVE constants in source functions 2013-12-16 18:27:19 +01:00
osdWindow.js osdWindow: scale by scaleFactor 2014-02-18 07:46:07 -08:00
overview.js Lightbox: complete radial effect for modal dialogs 2014-03-11 17:14:07 +01:00
overviewControls.js messageTray: Remove transient sources 2013-12-04 20:25:28 -05:00
panel.js popupMenu: Use an image for arrows 2014-02-19 13:44:27 +01:00
panelMenu.js js: Use EVENT_PROPAGATE/EVENT_STOP constants in event handlers 2013-12-16 18:27:19 +01:00
pointerWatcher.js js: Use SOURCE_CONTINUE/SOURCE_REMOVE constants in source functions 2013-12-16 18:27:19 +01:00
popupMenu.js popupMenu: Use an image for arrows 2014-02-19 13:44:27 +01:00
remoteMenu.js popupMenu: Remove our custom allocation code 2013-08-13 06:50:25 -04:00
remoteSearch.js ShellApp+ShellGlobal: unify app launch context code 2014-01-19 18:51:48 +01:00
runDialog.js ShellApp+ShellGlobal: unify app launch context code 2014-01-19 18:51:48 +01:00
screencast.js Remove our custom hashmap implementation 2014-01-15 00:55:00 +01:00
screenShield.js ScreenShield: send a signal to GSD to wake up the screen 2014-03-11 18:10:05 +01:00
screenshot.js js: Use EVENT_PROPAGATE/EVENT_STOP constants in event handlers 2013-12-16 18:27:19 +01:00
scripting.js js: Use SOURCE_CONTINUE/SOURCE_REMOVE constants in source functions 2013-12-16 18:27:19 +01:00
search.js search: Only do a subsearch if the previous results have returned from DBus 2013-11-04 14:50:45 -05:00
separator.js js: Explicitly dispose all cairo contexts 2013-01-08 13:07:51 -05:00
sessionMode.js make NetworkManager optional 2014-02-11 18:04:44 -05:00
shellDBus.js ScreenShield: send a signal to GSD to wake up the screen 2014-03-11 18:10:05 +01:00
shellEntry.js js: Use EVENT_PROPAGATE/EVENT_STOP constants in event handlers 2013-12-16 18:27:19 +01:00
shellMountOperation.js Stringify the xml definitions for E4X removal 2013-10-25 08:57:27 +11:00
slider.js Slider: put imports in order 2014-02-05 19:36:50 +00:00
switcherPopup.js switcherPopup: Fix spacing calculation for empty lists 2014-01-22 13:52:49 -05:00
tweener.js tweener: Remove the onAnimationStart/onAnimationComplete callbacks 2013-11-09 11:44:44 -05:00
unlockDialog.js unlockDialog: Explicitly set horizontal alignment 2013-12-11 22:36:49 +02:00
userWidget.js UserWidget: replace vfunc_destroy override with a signal connection 2013-12-02 23:59:50 +01:00
viewSelector.js Revert "viewSelector: Give the active page key focus when it is shown" 2014-02-20 00:29:14 +01:00
windowAttentionHandler.js Use recommended quotes 2014-01-17 16:34:44 -05:00
windowManager.js windowManager: Animate tile previews 2014-02-20 00:29:14 +01:00
workspace.js Fix position/size changed disconnects 2014-02-15 13:07:14 +01:00
workspacesView.js workspacesView: Fix activating empty workspaces 2014-01-17 09:30:59 -05:00
workspaceSwitcherPopup.js js: Use SOURCE_CONTINUE/SOURCE_REMOVE constants in source functions 2013-12-16 18:27:19 +01:00
workspaceThumbnail.js workspaceThumbnails: Really fix DND creating new workspaces 2014-02-23 00:29:29 +01:00
xdndHandler.js Remove use of superfluous MetaWindowActor APIs 2013-12-16 12:48:53 -05:00