gnome-shell/src
Jasper St. Pierre 2b87bb015c screenshot: Ensure that ShellScreenshot stays alive until the callback
We've been dangling on the edge of unsafety, unnoticed, for a little while
about the reference count safety of ShellScreenshot. GJS owns the entire
reference count, so as soon as it goes out of scope it could die, causing
GJS to try and fetch the corresponding wrapper object for a stale pointer.
We haven't seen any crashes because of luck -- SpiderMonkey tries to group
together deallocations to limit GC pauses, and there isn't really a lot
of GC pressure in the duration that a screenshot happens, so we tend to
be mostly stable. But in the case that you create a lot of objects while
a screenshot is going on, by hammering the "Print Screen" button, for
example, you can destroy the GObject before the callback finishes.

https://bugzilla.gnome.org/show_bug.cgi?id=672775
2012-03-26 12:54:07 -03:00
..
calendar-server calendar-server: use g_warning instead of g_printerr 2012-03-10 17:33:05 +01:00
gvc etc: Use generic marshaller 2012-01-25 19:03:13 -05:00
hotplug-sniffer hotplug-sniffer: fix double free when setting D-Bus return value 2012-01-16 17:38:38 -05:00
st st-button: treat keypad Enter keypresses like normal Enter events 2012-03-20 10:13:56 -04:00
tray etc: Use generic marshaller 2012-01-25 19:03:13 -05:00
gactionmuxer.c action muxer: drop direct GDBusActionGroup use 2011-12-20 17:36:59 -05:00
gactionmuxer.h Another update for GLib API changes 2011-12-20 17:36:59 -05:00
gactionobservable.c Another update for GLib API changes 2011-12-20 17:36:59 -05:00
gactionobservable.h Another update for GLib API changes 2011-12-20 17:36:59 -05:00
gactionobserver.c Another update for GLib API changes 2011-12-20 17:36:59 -05:00
gactionobserver.h Another update for GLib API changes 2011-12-20 17:36:59 -05:00
gnome-shell-extension-prefs.in Add a new tool, 'gnome-shell-extension-prefs', which can configure extensions 2012-02-07 16:00:37 -05:00
gnome-shell-extension-tool.in gnome-shell-extension-tool: Fix example extension for 3.3.90 API 2012-03-18 06:42:04 -04:00
gnome-shell-jhbuild.in gnome-shell-jhbuild.in: Fix restore_gnome. 2011-07-13 13:35:16 -04:00
gnome-shell-plugin.c Don't depend on removed MetaPlugin APIs 2012-03-08 16:59:31 -05:00
main.c main: Add override for dynamic-workspaces key 2012-03-11 23:03:43 +01:00
Makefile-calendar-server.am sniffer: add a mimetype sniffer helper executable 2011-07-13 14:39:35 -04:00
Makefile-gvc.am gvc: Fix introspection building 2011-03-11 16:29:40 +00:00
Makefile-hotplug-sniffer.am sniffer: add a mimetype sniffer helper executable 2011-07-13 14:39:35 -04:00
Makefile-st.am st: Remove st-container 2012-02-28 08:14:06 -05:00
Makefile-tray.am etc: Use generic marshaller 2012-01-25 19:03:13 -05:00
Makefile.am messageTray: show the summary with new notifications when the user becomes active 2012-03-16 01:01:57 -04:00
run-js-test.c run-js-test: Do not use the default stage 2011-12-16 00:18:17 +01:00
shell-a11y.c *.[ch]: add emacs modeline to C files that were missing it 2011-10-11 08:05:17 -04:00
shell-a11y.h *.[ch]: add emacs modeline to C files that were missing it 2011-10-11 08:05:17 -04:00
shell-app-private.h shell-app: Remove MATCH_MULTIPLE_{PREFIX,SUFFIX} 2011-10-13 17:46:45 +02:00
shell-app-system-private.h apps: Ensure running apps override new .desktop file data 2011-09-05 17:29:41 -04:00
shell-app-system.c app-system: Don't assume that gmenu_tree_load_sync() sets error 2012-02-20 11:41:57 +01:00
shell-app-system.h apps: Ensure running apps override new .desktop file data 2011-09-05 17:29:41 -04:00
shell-app-usage.c shell: Use generic marshaller 2012-01-25 19:03:48 -05:00
shell-app-usage.h app-system: Consider usage frequency in search results 2011-10-13 17:46:45 +02:00
shell-app.c shell-app: Evict faded app icons on icon theme change 2012-03-17 20:39:43 -04:00
shell-app.h Adjust to gtk/mutter changes for Application API 2012-01-18 17:25:35 -05:00
shell-contact-system.c *.[ch]: add emacs modeline to C files that were missing it 2011-10-11 08:05:17 -04:00
shell-contact-system.h contact-system: Add helper method to get a (display) email 2011-10-05 20:26:38 +02:00
shell-embedded-window-private.h Add emacs modelines to all .c and .h files that were missing them 2009-10-27 11:27:45 -04:00
shell-embedded-window.c ShellEmbeddedWindow: don't update the size of a destroyed actor. 2012-01-14 13:31:04 +01:00
shell-embedded-window.h [ShellTrayIcon] add ShellTrayIcon, make ShellTrayManager use it 2010-09-23 09:49:47 -04:00
shell-enum-types.c.in Create GTypes for Shell namespace 2010-04-12 16:01:54 -04:00
shell-enum-types.h.in Create GTypes for Shell namespace 2010-04-12 16:01:54 -04:00
shell-generic-container.c st: Remove st-container 2012-02-28 08:14:06 -05:00
shell-generic-container.h st: Remove st-container 2012-02-28 08:14:06 -05:00
shell-global-private.h screenshot: Split into separate file / class 2012-02-14 21:10:08 +01:00
shell-global.c Don't depend on removed MetaPlugin APIs 2012-03-08 16:59:31 -05:00
shell-global.h screenshot: Split into separate file / class 2012-02-14 21:10:08 +01:00
shell-gtk-embed.c Replace deprecated gtk_widget_size_request 2011-11-11 09:50:18 +01:00
shell-gtk-embed.h [ShellGtkEmbed] base this on ClutterX11TexturePixmap, not ClutterGLX 2010-09-23 09:49:47 -04:00
shell-idle-monitor.c messageTray: show the summary with new notifications when the user becomes active 2012-03-16 01:01:57 -04:00
shell-idle-monitor.h messageTray: show the summary with new notifications when the user becomes active 2012-03-16 01:01:57 -04:00
shell-js.c Split off the extension importing stuff into a new library, 'ShellJS' 2012-02-07 16:00:37 -05:00
shell-js.h Split off the extension importing stuff into a new library, 'ShellJS' 2012-02-07 16:00:37 -05:00
shell-jsapi-compat-private.h Support xulrunner 1.9.3+ 2010-09-30 12:43:12 -04:00
shell-keyring-prompt.c Use non-pageable memory for gnome-keyring passwords 2012-02-29 20:24:02 +01:00
shell-keyring-prompt.h Add gnome-keyring prompter 2012-02-29 20:16:14 +01:00
shell-mobile-providers.c Doc fixes 2011-11-07 15:24:59 -05:00
shell-mobile-providers.h Status area: add NetworkManager indicator 2011-03-16 15:59:34 +01:00
shell-mount-operation.c shell: Use generic marshaller 2012-01-25 19:03:48 -05:00
shell-mount-operation.h *.[ch]: add emacs modeline to C files that were missing it 2011-10-11 08:05:17 -04:00
shell-network-agent.c ShellNetworkAgent: don't access request fields if the operation is cancelled 2012-02-14 19:16:50 +01:00
shell-network-agent.h NetworkAgent: add support for VPN connections 2012-02-14 19:16:28 +01:00
shell-perf-helper.c gnome-shell-perf-helper: add server for creating test windows 2011-03-11 19:21:07 -05:00
shell-perf-log.c Doc fixes 2011-11-07 15:24:59 -05:00
shell-perf-log.h Dump a complete report from a performance run, as JSON 2010-05-21 00:18:45 -04:00
shell-polkit-authentication-agent.c pokit-agent: fix segfault when we we fail to get the current session 2012-02-18 20:27:39 +01:00
shell-polkit-authentication-agent.h polkit: return error when authentication dialog is dismissed 2011-02-23 11:02:46 -05:00
shell-recorder-src.c ShellRecorderSrc: Set as GST_FORMAT_TIME 2012-01-31 10:47:19 -05:00
shell-recorder-src.h Add emacs modelines to all .c and .h files that were missing them 2009-10-27 11:27:45 -04:00
shell-recorder.c recorder: Fix memory leak 2012-02-28 21:08:15 +01:00
shell-recorder.h Doc fixes 2011-11-07 15:24:59 -05:00
shell-screen-grabber.c screen-grabber: Fix area screenshots 2012-03-02 11:49:31 +01:00
shell-screen-grabber.h ShellScreenGrabber: grab the screen using pixel buffers 2012-01-31 10:47:19 -05:00
shell-screenshot.c screenshot: Ensure that ShellScreenshot stays alive until the callback 2012-03-26 12:54:07 -03:00
shell-screenshot.h screenshot: add missing shell_screenshot_new() 2012-02-14 15:57:34 -05:00
shell-secure-text-buffer.c Use non-pageable memory for gnome-keyring passwords 2012-02-29 20:24:02 +01:00
shell-secure-text-buffer.h Use non-pageable memory for gnome-keyring passwords 2012-02-29 20:24:02 +01:00
shell-slicer.c st: Remove _st_allocate_fill 2012-02-28 08:14:06 -05:00
shell-slicer.h Don't generate st.h in a subdir 2010-02-22 19:37:49 -05:00
shell-stack.c st: Remove st-container 2012-02-28 08:14:06 -05:00
shell-stack.h st: Remove st-container 2012-02-28 08:14:06 -05:00
shell-tp-client.c Support only Call1 channels 2012-02-21 17:43:05 +01:00
shell-tp-client.h telepathyClient: No need to prepare channel contacts 2012-01-12 20:55:40 +01:00
shell-tray-icon.c messageTray: forward clicks on trayicon SummaryItems to the icon 2011-03-21 14:56:53 -04:00
shell-tray-icon.h messageTray: forward clicks on trayicon SummaryItems to the icon 2011-03-21 14:56:53 -04:00
shell-tray-manager.c shell: Use generic marshaller 2012-01-25 19:03:48 -05:00
shell-tray-manager.h tray: fix so that trayicons using symbolic icons get the right colors 2011-02-07 10:01:12 -05:00
shell-util.c Remove the shell_get_event_state() wrapper 2012-02-28 18:11:36 +01:00
shell-util.h Remove the shell_get_event_state() wrapper 2012-02-28 18:11:36 +01:00
shell-window-tracker-private.h apps: Ensure running apps override new .desktop file data 2011-09-05 17:29:41 -04:00
shell-window-tracker.c autoWorkspaces: fix creation of new workspaces with application launchers 2012-03-16 16:41:30 +01:00
shell-window-tracker.h autoWorkspaces: fix creation of new workspaces with application launchers 2012-03-16 16:41:30 +01:00
shell-wm-private.h Adapt to removal of Mutter namespace 2010-10-23 14:02:45 -04:00
shell-wm.c shell-wm: Fix argument number for UNMAXIMIZE signal 2012-02-28 21:09:44 +01:00
shell-wm.h shell-wm: Remove takeover_keybinding() 2011-11-22 00:42:28 +01:00
shell-xfixes-cursor.c shell: Use generic marshaller 2012-01-25 19:03:48 -05:00
shell-xfixes-cursor.h Do not use the default stage 2011-12-15 16:13:29 -05:00
test-gapplication.js RemoteMenu: add support for section labels 2012-01-16 19:29:50 +01:00
test-recorder.c test-recorder: Don't use deprecated API 2012-02-14 14:04:11 -05:00