diff options
author | Pacho Ramos <pacho@gentoo.org> | 2014-11-13 11:38:37 +0000 |
---|---|---|
committer | Pacho Ramos <pacho@gentoo.org> | 2014-11-13 11:38:37 +0000 |
commit | 7727772393daa93742b37e384c06142f9320eadd (patch) | |
tree | 8c04ef0dcecbd085d415ff5840da7f1059a780d2 /gnome-base/gnome-session/files | |
parent | Version bump. (diff) | |
download | historical-7727772393daa93742b37e384c06142f9320eadd.tar.gz historical-7727772393daa93742b37e384c06142f9320eadd.tar.bz2 historical-7727772393daa93742b37e384c06142f9320eadd.zip |
Drop old (#508854)
Package-Manager: portage-2.2.14/cvs/Linux x86_64
Manifest-Sign-Key: 0xA188FBD4
Diffstat (limited to 'gnome-base/gnome-session/files')
11 files changed, 0 insertions, 1306 deletions
diff --git a/gnome-base/gnome-session/files/10-user-dirs-update-gnome b/gnome-base/gnome-session/files/10-user-dirs-update-gnome deleted file mode 100755 index f909d44dacdf..000000000000 --- a/gnome-base/gnome-session/files/10-user-dirs-update-gnome +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -# Create various XDG directories, and write ~/.config/user-dirs.dirs, etc. -# That file is read by glib to get XDG_PICTURES_DIR, etc - -if [ "$DESKTOP_SESSION" = "gnome" ]; then - if type xdg-user-dirs-update &>/dev/null; then - xdg-user-dirs-update - fi -fi diff --git a/gnome-base/gnome-session/files/15-xdg-data-gnome b/gnome-base/gnome-session/files/15-xdg-data-gnome deleted file mode 100644 index e62f3e1c6baa..000000000000 --- a/gnome-base/gnome-session/files/15-xdg-data-gnome +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -if [ "$DESKTOP_SESSION" = "gnome" ]; then - if [ -z "$XDG_DATA_DIRS" ]; then - export XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/ - else - export XDG_DATA_DIRS=/usr/share/gnome:"$XDG_DATA_DIRS" - fi -fi diff --git a/gnome-base/gnome-session/files/defaults.list b/gnome-base/gnome-session/files/defaults.list deleted file mode 100644 index 572b5407002c..000000000000 --- a/gnome-base/gnome-session/files/defaults.list +++ /dev/null @@ -1,333 +0,0 @@ -[Default Applications] -application/rtf=abiword.desktop -application/x-abiword=abiword.desktop -text/abiword=abiword.desktop -text/richtext=abiword.desktop -text/rtf=abiword.desktop -text/x-abiword=abiword.desktop -text/x-xml-abiword=abiword.desktop -x-content/blank-bd=brasero-nautilus.desktop -x-content/blank-dvd=brasero-nautilus.desktop -x-content/blank-cd=brasero-nautilus.desktop -x-content/blank-hddvd=brasero-nautilus.desktop -application/x-dia-diagram=dia.desktop -image/bmp=eog.desktop -image/gif=eog.desktop -image/jpeg=eog.desktop -image/jpg=eog.desktop -image/pjpeg=eog.desktop -image/png=eog.desktop -image/svg+xml=eog.desktop -image/svg+xml-compressed=eog.desktop -image/x-bmp=eog.desktop -image/x-gray=eog.desktop -image/x-icb=eog.desktop -image/x-ico=eog.desktop -image/x-pcx=eog.desktop -image/x-png=eog.desktop -image/x-portable-anymap=eog.desktop -image/x-portable-bitmap=eog.desktop -image/x-portable-graymap=eog.desktop -image/x-portable-pixmap=eog.desktop -image/x-xbitmap=eog.desktop -image/x-xpixmap=eog.desktop -image/vnd.wap.wbmp=eog.desktop -image/g3fax=gimp.desktop -image/x-compressed-xcf=gimp.desktop -image/x-fits=gimp.desktop -image/x-icon=gimp.desktop -image/x-psd=gimp.desktop -image/x-sgi=gimp.desktop -image/x-sun-raster=gimp.desktop -image/x-tga=gimp.desktop -image/x-xcf=gimp.desktop -image/x-xwindowdump=gimp.desktop -application/xhtml+xml=firefox.desktop;firefox-3.6.desktop;epiphany.desktop -text/html=firefox.desktop;firefox-3.6.desktop;epiphany.desktop -application/pdf=evince.desktop -application/x-bzpdf=evince.desktop -application/x-gzpdf=evince.desktop -application/postscript=evince.desktop -application/x-bzpostscript=evince.desktop -application/x-gzpostscript=evince.desktop -image/x-eps=evince.desktop -image/x-bzeps=evince.desktop -image/x-gzeps=evince.desktop -application/x-dvi=evince.desktop -application/x-bzdvi=evince.desktop -application/x-gzdvi=evince.desktop -image/vnd.djvu=evince.desktop -image/tiff=evince.desktop -application/x-cbr=evince.desktop -application/x-cbz=evince.desktop -application/x-cb7=evince.desktop -application/x-7z-compressed=file-roller.desktop -application/x-7z-compressed-tar=file-roller.desktop -application/x-ace=file-roller.desktop -application/x-alz=file-roller.desktop -application/x-ar=file-roller.desktop -application/x-arj=file-roller.desktop -application/x-bzip=file-roller.desktop -application/x-bzip-compressed-tar=file-roller.desktop -application/x-bzip1=file-roller.desktop -application/x-bzip1-compressed-tar=file-roller.desktop -application/x-cabinet=file-roller.desktop -application/x-cd-image=file-roller.desktop -application/x-compress=file-roller.desktop -application/x-compressed-tar=file-roller.desktop -application/x-cpio=file-roller.desktop -application/x-deb=file-roller.desktop -application/x-ear=file-roller.desktop -application/x-gtar=file-roller.desktop -application/x-gzip=file-roller.desktop -application/x-java-archive=file-roller.desktop -application/x-lha=file-roller.desktop -application/x-lhz=file-roller.desktop -application/x-lzip=file-roller.desktop -application/x-lzip-compressed-tar=file-roller.desktop -application/x-lzma=file-roller.desktop -application/x-lzma-compressed-tar=file-roller.desktop -application/x-lzop=file-roller.desktop -application/x-lzop-compressed-tar=file-roller.desktop -application/x-rar=file-roller.desktop -application/x-rar-compressed=file-roller.desktop -application/x-rpm=file-roller.desktop -application/x-rzip=file-roller.desktop -application/x-tar=file-roller.desktop -application/x-tarz=file-roller.desktop -application/x-stuffit=file-roller.desktop -application/x-war=file-roller.desktop -application/x-xz=file-roller.desktop -application/x-xz-compressed-tar=file-roller.desktop -application/x-zip=file-roller.desktop -application/x-zip-compressed=file-roller.desktop -application/x-zoo=file-roller.desktop -application/zip=file-roller.desktop -multipart/x-zip=file-roller.desktop -text/plain=gedit.desktop -text/css=gedit.desktop -text/javascript=gedit.desktop -text/mathml=gedit.desktop -text/x-csrc=gedit.desktop -text/x-chdr=gedit.desktop -text/x-dtd=gedit.desktop -text/x-java=gedit.desktop -text/x-javascript=gedit.desktop -text/x-patch=gedit.desktop -text/x-perl=gedit.destkop -text/x-php=gedit.destkop -text/x-python=gedit.destkop -text/x-sql=gedit.desktop -text/xml=gedit.desktop -application/javascript=gedit.destkop -application/x-cgi=gedit.desktop -application/x-javascript=gedit.desktop -application/x-perl=gedit.desktop -application/x-php=gedit.desktop -application/x-python=gedit.desktop -application/xml=gedit.desktop -application/xml-dtd=gedit.desktop -application/x-font-ttf=gnome-font-viewer.desktop -application/x-font-pcf=gnome-font-viewer.desktop -application/x-font-type1=gnome-font-viewer.desktop -application/x-font-otf=gnome-font-viewer.desktop -application/csv=gnumeric.desktop -application/excel=gnumeric.desktop -application/msexcel=gnumeric.desktop -application/tab-separated-values=gnumeric.desktop -application/vnd.lotus-1-2-3=gnumeric.desktop -application/vnd.ms-excel=gnumeric.desktop -application/x-123=gnumeric.desktop -application/x-applix-spreadsheet=gnumeric.desktop -application/x-dbase=gnumeric.desktop -application/x-dbf=gnumeric.desktop -application/x-dos_ms_excel=gnumeric.desktop -application/x-excel=gnumeric.desktop -application/x-gnumeric=gnumeric.desktop -application/x-mps=gnumeric.desktop -application/x-ms-excel=gnumeric.desktop -application/x-msexcel=gnumeric.desktop -application/x-oleo=gnumeric.desktop -application/x-planperfect=gnumeric.desktop -application/x-quattropro=gnumeric.desktop -application/x-sc=gnumeric.desktop -application/x-sylk=gnumeric.desktop -application/x-xbase=gnumeric.desktop -application/x-xls=gnumeric.desktop -application/xls=gnumeric.desktop -text/comma-separated-values=gnumeric.desktop -text/csv=gnumeric.desktop -text/spreadsheet=gnumeric.desktop -text/tab-separated-values=gnumeric.desktop -text/x-comma-separated-values=gnumeric.desktop -text/x-csv=gnumeric.desktop -zz-application/zz-winassoc-xls=gnumeric.desktop -x-content/software=nautilus-autorun-software.desktop -x-directory/gnome-default-handler=nautilus-folder-handler.desktop -x-directory/normal=nautilus-folder-handler.desktop -inode/directory=nautilus-folder-handler.desktop -application/x-gnome-saved-search=nautilus-folder-handler.desktop -application/vnd.oasis.opendocument.spreadsheet=libreoffice-calc.desktop;openoffice.org-calc.desktop -application/vnd.oasis.opendocument.spreadsheet-template=libreoffice-calc.desktop;openoffice.org-calc.desktop -application/vnd.sun.xml.calc=libreoffice-calc.desktop;openoffice.org-calc.desktop -application/vnd.sun.xml.calc.template=libreoffice-calc.desktop;openoffice.org-calc.desktop -application/vnd.stardivision.calc=libreoffice-calc.desktop;openoffice.org-calc.desktop -application/vnd.stardivision.chart=libreoffice-calc.desktop;openoffice.org-calc.desktop -application/vnd.openxmlformats-officedocument.spreadsheetml.sheet=libreoffice-calc.desktop;openoffice.org-calc.desktop -application/vnd.ms-excel.sheet.macroenabled.12=libreoffice-calc.desktop;openoffice.org-calc.desktop -application/vnd.openxmlformats-officedocument.spreadsheetml.template=libreoffice-calc.desktop;openoffice.org-calc.desktop -application/vnd.ms-excel.template.macroenabled.12=libreoffice-calc.desktop;openoffice.org-calc.desktop -application/vnd.ms-excel.sheet.binary.macroenabled.12=libreoffice-calc.desktop;openoffice.org-calc.desktop -application/vnd.oasis.opendocument.graphics=libreoffice-draw.desktop;openoffice.org-draw.desktop -application/vnd.oasis.opendocument.graphics-template=libreoffice-draw.desktop;openoffice.org-draw.desktop -application/vnd.sun.xml.draw=libreoffice-draw.desktop;openoffice.org-draw.desktop -application/vnd.sun.xml.draw.template=libreoffice-draw.desktop;openoffice.org-draw.desktop -application/vnd.stardivision.draw=libreoffice-draw.desktop;openoffice.org-draw.desktop -application/vnd.oasis.opendocument.presentation=libreoffice-impress.desktop;openoffice.org-impress.desktop -application/vnd.oasis.opendocument.presentation-template=libreoffice-impress.desktop;openoffice.org-impress.desktop -application/vnd.sun.xml.impress=libreoffice-impress.desktop;openoffice.org-impress.desktop -application/vnd.sun.xml.impress.template=libreoffice-impress.desktop;openoffice.org-impress.desktop -application/vnd.stardivision.impress=libreoffice-impress.desktop;openoffice.org-impress.desktop -application/mspowerpoint=libreoffice-impress.desktop;openoffice.org-impress.desktop -application/vnd.ms-powerpoint=libreoffice-impress.desktop;openoffice.org-impress.desktop -application/vnd.openxmlformats-officedocument.presentationml.presentation=libreoffice-impress.desktop;openoffice.org-impress.desktop -application/vnd.ms-powerpoint.presentation.macroenabled.12=libreoffice-impress.desktop;openoffice.org-impress.desktop -application/vnd.openxmlformats-officedocument.presentationml.template=libreoffice-impress.desktop;openoffice.org-impress.desktop -application/vnd.ms-powerpoint.template.macroenabled.12=libreoffice-impress.desktop;openoffice.org-impress.desktop -application/vnd.oasis.opendocument.formula=libreoffice-math.desktop;openoffice.org-math.desktop -application/vnd.sun.xml.math=libreoffice-math.desktop;openoffice.org-math.desktop -application/vnd.stardivision.math=libreoffice-math.desktop;openoffice.org-math.desktop -application/vnd.oasis.opendocument.text=libreoffice-writer.desktop;openoffice.org-writer.desktop -application/vnd.oasis.opendocument.text-template=libreoffice-writer.desktop;openoffice.org-writer.desktop -application/vnd.oasis.opendocument.text-web=libreoffice-writer.desktop;openoffice.org-writer.desktop -application/vnd.oasis.opendocument.text-master=libreoffice-writer.desktop;openoffice.org-writer.desktop -application/vnd.sun.xml.writer=libreoffice-writer.desktop;openoffice.org-writer.desktop -application/vnd.sun.xml.writer.template=libreoffice-writer.desktop;openoffice.org-writer.desktop -application/vnd.sun.xml.writer.global=libreoffice-writer.desktop;openoffice.org-writer.desktop -application/vnd.stardivision.writer=libreoffice-writer.desktop;openoffice.org-writer.desktop -application/msword=libreoffice-writer.desktop;openoffice.org-writer.desktop -application/vnd.ms-word=libreoffice-writer.desktop;openoffice.org-writer.desktop -application/x-doc=libreoffice-writer.desktop;openoffice.org-writer.desktop -application/vnd.wordperfect=libreoffice-writer.desktop;openoffice.org-writer.desktop -application/wordperfect=libreoffice-writer.desktop;openoffice.org-writer.desktop -application/vnd.openxmlformats-officedocument.wordprocessingml.document=libreoffice-writer.desktop;openoffice.org-writer.desktop -application/vnd.ms-word.document.macroenabled.12=libreoffice-writer.desktop;openoffice.org-writer.desktop -application/vnd.openxmlformats-officedocument.wordprocessingml.template=libreoffice-writer.desktop;openoffice.org-writer.desktop -application/vnd.ms-word.template.macroenabled.12=libreoffice-writer.desktop;openoffice.org-writer.desktop -x-content/audio-player=rhythmbox.desktop -x-content/audio-cdda=sound-juicer.desktop -application/x-shockwave-flash=swfdec-player.desktop -application/futuresplash=swfdec-player.desktop -application/mxf=totem.desktop -application/ogg=totem.desktop -application/ram=totem.desktop -application/sdp=totem.desktop -application/smil=totem.desktop -application/smil+xml=totem.desktop -application/vnd.ms-wpl=totem.desktop -application/vnd.rn-realmedia=totem.desktop -application/x-extension-m4a=totem.desktop -application/x-extension-mp4=totem.desktop -application/x-flac=totem.desktop -application/x-flash-video=totem.desktop -application/x-matroska=totem.desktop -application/x-netshow-channel=totem.desktop -application/x-ogg=totem.desktop -application/x-quicktime-media-link=totem.desktop -application/x-quicktimeplayer=totem.desktop -application/x-shorten=totem.desktop -application/x-smil=totem.desktop -application/xspf+xml=totem.desktop -audio/3gpp=totem.desktop -audio/ac3=totem.desktop -audio/AMR=totem.desktop -audio/AMR-WB=totem.desktop -audio/basic=totem.desktop -audio/midi=totem.desktop -audio/mp4=totem.desktop -audio/mpeg=totem.desktop -audio/mpegurl=totem.desktop -audio/ogg=totem.desktop -audio/prs.sid=totem.desktop -audio/vnd.rn-realaudio=totem.desktop -audio/x-ape=totem.desktop -audio/x-flac=totem.desktop -audio/x-gsm=totem.desktop -audio/x-it=totem.desktop -audio/x-m4a=totem.desktop -audio/x-matroska=totem.desktop -audio/x-mod=totem.desktop -audio/x-mp3=totem.desktop -audio/x-mpeg=totem.desktop -audio/x-mpegurl=totem.desktop -audio/x-ms-asf=totem.desktop -audio/x-ms-asx=totem.desktop -audio/x-ms-wax=totem.desktop -audio/x-ms-wma=totem.desktop -audio/x-musepack=totem.desktop -audio/x-pn-aiff=totem.desktop -audio/x-pn-au=totem.desktop -audio/x-pn-realaudio=totem.desktop -audio/x-pn-realaudio-plugin=totem.desktop -audio/x-pn-wav=totem.desktop -audio/x-pn-windows-acm=totem.desktop -audio/x-realaudio=totem.desktop -audio/x-real-audio=totem.desktop -audio/x-sbc=totem.desktop -audio/x-scpls=totem.desktop -audio/x-speex=totem.desktop -audio/x-tta=totem.desktop -audio/x-vorbis=totem.desktop -audio/x-vorbis+ogg=totem.desktop -audio/x-wav=totem.desktop -audio/x-wavpack=totem.desktop -audio/x-xm=totem.desktop -image/vnd.rn-realpix=totem.desktop -image/x-pict=totem.desktop -misc/ultravox=totem.desktop -text/google-video-pointer=totem.desktop -text/x-google-video-pointer=totem.desktop -video/3gpp=totem.desktop -video/dv=totem.desktop -video/fli=totem.desktop -video/flv=totem.desktop -video/mp2t=totem.desktop -video/mp4=totem.desktop -video/mp4v-es=totem.desktop -video/mpeg=totem.desktop -video/msvideo=totem.desktop -video/ogg=totem.desktop -video/quicktime=totem.desktop -video/vivo=totem.desktop -video/vnd.divx=totem.desktop -video/vnd.rn-realvideo=totem.desktop -video/vnd.vivo=totem.desktop -video/webm=totem.desktop -video/x-anim=totem.desktop -video/x-avi=totem.desktop -video/x-flc=totem.desktop -video/x-fli=totem.desktop -video/x-flic=totem.desktop -video/x-flv=totem.desktop -video/x-m4v=totem.desktop -video/x-matroska=totem.desktop -video/x-mpeg=totem.desktop -video/x-ms-asf=totem.desktop -video/x-ms-asx=totem.desktop -video/x-msvideo=totem.desktop -video/x-ms-wm=totem.desktop -video/x-ms-wmv=totem.desktop -video/x-ms-wmx=totem.desktop -video/x-ms-wvx=totem.desktop -video/x-nsv=totem.desktop -video/x-ogm+ogg=totem.desktop -video/x-theora+ogg=totem.desktop -video/x-totem-stream=totem.desktop -x-content/video-dvd=totem.desktop -x-content/video-vcd=totem.desktop -x-content/video-svcd=totem.desktop -x-scheme-handler/ghelp=yelp.desktop; -x-scheme-handler/help=yelp.desktop; -x-scheme-handler/http=firefox.desktop;epiphany.desktop -x-scheme-handler/https=firefox.desktop;epiphany.desktop -x-scheme-handler/mailto=evolution.desktop
\ No newline at end of file diff --git a/gnome-base/gnome-session/files/gnome-session-2.32.0-session-saving-button.patch b/gnome-base/gnome-session/files/gnome-session-2.32.0-session-saving-button.patch deleted file mode 100644 index b407f9a4d880..000000000000 --- a/gnome-base/gnome-session/files/gnome-session-2.32.0-session-saving-button.patch +++ /dev/null @@ -1,559 +0,0 @@ -From c56898dcc1a73af37333b5df28f3b298a0c0669d Mon Sep 17 00:00:00 2001 -From: Priit Laes <plaes@plaes.org> -Date: Thu, 9 Sep 2010 15:38:37 +0300 -Subject: [PATCH] Implement session saving UI in gnome-session-properties - -Original patch by Ghee Teo and Josselin Mouette - -https://bugzilla.gnome.org/show_bug.cgi?id=575544 ---- - capplet/gsm-properties-dialog.c | 63 ++++++++++++- - configure.ac | 1 + - data/session-properties.ui | 12 ++ - gnome-session/gsm-client.c | 10 ++ - gnome-session/gsm-client.h | 6 + - gnome-session/gsm-dbus-client.c | 14 +++ - gnome-session/gsm-manager.c | 150 +++++++++++++++++++++++++++- - gnome-session/gsm-manager.h | 3 + - gnome-session/gsm-xsmp-client.c | 37 +++++++ - gnome-session/gsm-xsmp-client.h | 3 +- - gnome-session/org.gnome.SessionManager.xml | 8 ++ - 11 files changed, 303 insertions(+), 4 deletions(-) - -diff --git a/capplet/gsm-properties-dialog.c b/capplet/gsm-properties-dialog.c -index 84ef910..f54656e 100644 ---- a/capplet/gsm-properties-dialog.c -+++ b/capplet/gsm-properties-dialog.c -@@ -35,6 +35,12 @@ - #include "gsm-util.h" - #include "gsp-app.h" - #include "gsp-app-manager.h" -+#include <dbus/dbus-glib.h> -+#include <dbus/dbus-glib-lowlevel.h> -+ -+#define GSM_SERVICE_DBUS "org.gnome.SessionManager" -+#define GSM_PATH_DBUS "/org/gnome/SessionManager" -+#define GSM_INTERFACE_DBUS "org.gnome.SessionManager" - - #define GSM_PROPERTIES_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSM_TYPE_PROPERTIES_DIALOG, GsmPropertiesDialogPrivate)) - -@@ -50,6 +56,7 @@ - #define CAPPLET_DELETE_WIDGET_NAME "session_properties_delete_button" - #define CAPPLET_EDIT_WIDGET_NAME "session_properties_edit_button" - #define CAPPLET_SAVE_WIDGET_NAME "session_properties_save_button" -+#define CAPPLET_SESSION_SAVED_WIDGET_NAME "session_properties_session_saved_label" - #define CAPPLET_REMEMBER_WIDGET_NAME "session_properties_remember_toggle" - - #define STARTUP_APP_ICON "system-run" -@@ -493,10 +500,64 @@ on_autosave_value_toggled (GtkToggleButton *button, - } - - static void -+session_saved_message (GsmPropertiesDialog *dialog, -+ const char *msg, -+ gboolean is_error) -+{ -+ GtkLabel *label; -+ gchar *markup; -+ label = GTK_LABEL (gtk_builder_get_object (dialog->priv->xml, CAPPLET_SESSION_SAVED_WIDGET_NAME)); -+ if (is_error) -+ markup = g_markup_printf_escaped ("<span foreground=\"red\">%s</span>", msg); -+ else -+ markup = g_markup_escape_text (msg, -1); -+ gtk_label_set_markup (label, markup); -+ g_free (markup); -+} -+ -+static void -+session_saved_cb (DBusGProxy *proxy, -+ DBusGProxyCall *call_id, -+ void *user_data) -+{ -+ gboolean res; -+ GsmPropertiesDialog *dialog = user_data; -+ -+ res = dbus_g_proxy_end_call (proxy, call_id, NULL, G_TYPE_INVALID); -+ if (res) -+ session_saved_message (dialog, _("Your session has been saved."), FALSE); -+ else -+ session_saved_message (dialog, _("Failed to save session"), TRUE); -+ -+ g_object_unref (proxy); -+} -+ -+static void - on_save_session_clicked (GtkWidget *widget, - GsmPropertiesDialog *dialog) - { -- g_debug ("Session saving is not implemented yet!"); -+ DBusGConnection *conn; -+ DBusGProxy *proxy; -+ DBusGProxyCall *call; -+ -+ conn = dbus_g_bus_get (DBUS_BUS_SESSION, NULL); -+ if (conn == NULL) { -+ session_saved_message (dialog, _("Could not connect to the session bus"), TRUE); -+ return; -+ } -+ -+ proxy = dbus_g_proxy_new_for_name (conn, GSM_SERVICE_DBUS, GSM_PATH_DBUS, GSM_INTERFACE_DBUS); -+ if (proxy == NULL) { -+ session_saved_message (dialog, _("Could not connect to the session manager"), TRUE); -+ return; -+ } -+ -+ call = dbus_g_proxy_begin_call (proxy, "SaveSession", session_saved_cb, dialog, NULL, G_TYPE_INVALID); -+ if (call == NULL) { -+ session_saved_message (dialog, _("Failed to save session"), TRUE); -+ g_object_unref (proxy); -+ return; -+ } - } - - static void -diff --git a/configure.ac b/configure.ac -index 3988b4a..b2b96b8 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -76,6 +76,7 @@ PKG_CHECK_MODULES(GNOME_SESSION, - PKG_CHECK_MODULES(SESSION_PROPERTIES, - glib-2.0 >= $GLIB_REQUIRED - gtk+-$GTK_API_VERSION >= $GTK_REQUIRED -+ dbus-glib-1 >= $DBUS_GLIB_REQUIRED - ) - - PKG_CHECK_MODULES(SM, sm) -diff --git a/data/session-properties.ui b/data/session-properties.ui -index 24f721d..3083fc1 100644 ---- a/data/session-properties.ui -+++ b/data/session-properties.ui -@@ -148,6 +148,7 @@ - <property name="visible">True</property> - <child> - <object class="GtkButton" id="session_properties_save_button"> -+ <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <child> -@@ -191,6 +192,17 @@ - <property name="position">1</property> - </packing> - </child> -+ <child> -+ <object class="GtkLabel" id="session_properties_session_saved_label"> -+ <property name="visible">True</property> -+ <property name="wrap">True</property> -+ </object> -+ <packing> -+ <property name="expand">False</property> -+ <property name="fill">False</property> -+ <property name="position">2</property> -+ </packing> -+ </child> - </object> - <packing> - <property name="position">1</property> -diff --git a/gnome-session/gsm-client.c b/gnome-session/gsm-client.c -index b1c3c02..b063aca 100644 ---- a/gnome-session/gsm-client.c -+++ b/gnome-session/gsm-client.c -@@ -510,6 +510,16 @@ gsm_client_disconnected (GsmClient *client) - g_signal_emit (client, signals[DISCONNECTED], 0); - } - -+gboolean -+gsm_client_request_save (GsmClient *client, -+ guint flags, -+ GError **error) -+{ -+ g_return_val_if_fail (GSM_IS_CLIENT (client), FALSE); -+ -+ return GSM_CLIENT_GET_CLASS (client)->impl_request_save (client, flags, error); -+} -+ - GKeyFile * - gsm_client_save (GsmClient *client, - GError **error) -diff --git a/gnome-session/gsm-client.h b/gnome-session/gsm-client.h -index 8fa28ad..a191e1d 100644 ---- a/gnome-session/gsm-client.h -+++ b/gnome-session/gsm-client.h -@@ -92,6 +92,9 @@ struct _GsmClientClass - GError **error); - gboolean (*impl_stop) (GsmClient *client, - GError **error); -+ gboolean (*impl_request_save) (GsmClient *client, -+ guint flags, -+ GError **error); - GKeyFile * (*impl_save) (GsmClient *client, - GError **error); - }; -@@ -137,6 +140,9 @@ gboolean gsm_client_cancel_end_session (GsmClient *client, - - void gsm_client_disconnected (GsmClient *client); - -+gboolean gsm_client_request_save (GsmClient *client, -+ guint flags, -+ GError **error); - GKeyFile *gsm_client_save (GsmClient *client, - GError **error); - /* exported to bus */ -diff --git a/gnome-session/gsm-dbus-client.c b/gnome-session/gsm-dbus-client.c -index e0aaf3d..a6ab43a 100644 ---- a/gnome-session/gsm-dbus-client.c -+++ b/gnome-session/gsm-dbus-client.c -@@ -413,6 +413,19 @@ gsm_dbus_client_finalize (GObject *object) - G_OBJECT_CLASS (gsm_dbus_client_parent_class)->finalize (object); - } - -+static gboolean -+dbus_client_request_save (GsmClient *client, -+ guint flags, -+ GError **error) -+{ -+ g_debug ("GsmDBusClient: sending save request to client with id %s", -+ gsm_client_peek_id (client)); -+ -+ /* FIXME: The protocol does not support this */ -+ -+ return FALSE; -+} -+ - static GKeyFile * - dbus_client_save (GsmClient *client, - GError **error) -@@ -665,6 +678,7 @@ gsm_dbus_client_class_init (GsmDBusClientClass *klass) - object_class->set_property = gsm_dbus_client_set_property; - object_class->dispose = gsm_dbus_client_dispose; - -+ client_class->impl_request_save = dbus_client_request_save; - client_class->impl_save = dbus_client_save; - client_class->impl_stop = dbus_client_stop; - client_class->impl_query_end_session = dbus_client_query_end_session; -diff --git a/gnome-session/gsm-manager.c b/gnome-session/gsm-manager.c -index c85cea6..ca1a0ae 100644 ---- a/gnome-session/gsm-manager.c -+++ b/gnome-session/gsm-manager.c -@@ -68,6 +68,7 @@ - #define GSM_MANAGER_DBUS_NAME "org.gnome.SessionManager" - - #define GSM_MANAGER_PHASE_TIMEOUT 10 /* seconds */ -+#define GSM_MANAGER_SAVE_SESSION_TIMEOUT 2 - - #define GDM_FLEXISERVER_COMMAND "gdmflexiserver" - #define GDM_FLEXISERVER_ARGS "--startnew Standard" -@@ -1153,6 +1154,69 @@ query_end_session_complete (GsmManager *manager) - - } - -+static gboolean -+_client_request_save (GsmClient *client, -+ ClientEndSessionData *data) -+{ -+ gboolean ret; -+ GError *error; -+ -+ error = NULL; -+ ret = gsm_client_request_save (client, data->flags, &error); -+ if (ret) { -+ g_debug ("GsmManager: adding client to query clients: %s", gsm_client_peek_id (client)); -+ data->manager->priv->query_clients = g_slist_prepend (data->manager->priv->query_clients, -+ client); -+ } else if (error) { -+ g_debug ("GsmManager: unable to query client: %s", error->message); -+ g_error_free (error); -+ } -+ -+ return FALSE; -+} -+ -+static gboolean -+_client_request_save_helper (const char *id, -+ GsmClient *client, -+ ClientEndSessionData *data) -+{ -+ return _client_request_save (client, data); -+} -+ -+static void -+query_save_session_complete (GsmManager *manager) -+{ -+ GError *error = NULL; -+ -+ if (g_slist_length (manager->priv->next_query_clients) > 0) { -+ ClientEndSessionData data; -+ -+ data.manager = manager; -+ data.flags = GSM_CLIENT_END_SESSION_FLAG_LAST; -+ -+ g_slist_foreach (manager->priv->next_query_clients, -+ (GFunc)_client_request_save, -+ &data); -+ -+ g_slist_free (manager->priv->next_query_clients); -+ manager->priv->next_query_clients = NULL; -+ -+ return; -+ } -+ -+ if (manager->priv->query_timeout_id > 0) { -+ g_source_remove (manager->priv->query_timeout_id); -+ manager->priv->query_timeout_id = 0; -+ } -+ -+ gsm_session_save (manager->priv->clients, &error); -+ -+ if (error) { -+ g_warning ("Error saving session: %s", error->message); -+ g_error_free (error); -+ } -+} -+ - static guint32 - generate_cookie (void) - { -@@ -1227,6 +1291,21 @@ _on_query_end_session_timeout (GsmManager *manager) - return FALSE; - } - -+static gboolean -+_on_query_save_session_timeout (GsmManager *manager) -+{ -+ manager->priv->query_timeout_id = 0; -+ -+ g_debug ("GsmManager: query to save session timed out"); -+ -+ g_slist_free (manager->priv->query_clients); -+ manager->priv->query_clients = NULL; -+ -+ query_save_session_complete (manager); -+ -+ return FALSE; -+} -+ - static void - do_phase_query_end_session (GsmManager *manager) - { -@@ -1863,13 +1942,32 @@ on_client_end_session_response (GsmClient *client, - const char *reason, - GsmManager *manager) - { -- /* just ignore if received outside of shutdown */ -- if (manager->priv->phase < GSM_MANAGER_PHASE_QUERY_END_SESSION) { -+ /* just ignore if we are not yet running */ -+ if (manager->priv->phase < GSM_MANAGER_PHASE_RUNNING) { - return; - } - - g_debug ("GsmManager: Response from end session request: is-ok=%d do-last=%d cancel=%d reason=%s", is_ok, do_last, cancel, reason ? reason :""); - -+ if (manager->priv->phase == GSM_MANAGER_PHASE_RUNNING) { -+ /* Ignore responses when no requests were sent */ -+ if (manager->priv->query_clients == NULL) { -+ return; -+ } -+ -+ manager->priv->query_clients = g_slist_remove (manager->priv->query_clients, client); -+ -+ if (do_last) { -+ manager->priv->next_query_clients = g_slist_prepend (manager->priv->next_query_clients, -+ client); -+ } -+ -+ if (manager->priv->query_clients == NULL) { -+ query_save_session_complete (manager); -+ } -+ return; -+ } -+ - if (cancel) { - cancel_end_session (manager); - return; -@@ -1968,6 +2066,15 @@ on_xsmp_client_logout_request (GsmXSMPClient *client, - } - - static void -+on_xsmp_client_save_request (GsmXSMPClient *client, -+ gboolean show_dialog, -+ GsmManager *manager) -+{ -+ g_debug ("GsmManager: save_request"); -+ gsm_manager_save_session (manager, NULL); -+} -+ -+static void - on_store_client_added (GsmStore *store, - const char *id, - GsmManager *manager) -@@ -1988,6 +2095,10 @@ on_store_client_added (GsmStore *store, - "logout-request", - G_CALLBACK (on_xsmp_client_logout_request), - manager); -+ g_signal_connect (client, -+ "save-request", -+ G_CALLBACK (on_xsmp_client_save_request), -+ manager); - } - - g_signal_connect (client, -@@ -2945,6 +3056,41 @@ gsm_manager_shutdown (GsmManager *manager, - } - - gboolean -+gsm_manager_save_session (GsmManager *manager, -+ GError **error) -+{ -+ ClientEndSessionData data; -+ -+ g_debug ("GsmManager: SaveSession called"); -+ -+ g_return_val_if_fail (GSM_IS_MANAGER (manager), FALSE); -+ -+ if (manager->priv->phase != GSM_MANAGER_PHASE_RUNNING) { -+ g_set_error (error, -+ GSM_MANAGER_ERROR, -+ GSM_MANAGER_ERROR_NOT_IN_RUNNING, -+ "SaveSession interface is only available during the Running phase"); -+ return FALSE; -+ } -+ -+ data.manager = manager; -+ data.flags = 0; -+ gsm_store_foreach (manager->priv->clients, -+ (GsmStoreFunc)_client_request_save_helper, -+ &data); -+ -+ if (manager->priv->query_clients) { -+ manager->priv->query_timeout_id = g_timeout_add_seconds (GSM_MANAGER_SAVE_SESSION_TIMEOUT, -+ (GSourceFunc)_on_query_save_session_timeout, -+ manager); -+ return TRUE; -+ } else { -+ g_debug ("GsmManager: Nothing to save"); -+ return FALSE; -+ } -+} -+ -+gboolean - gsm_manager_can_shutdown (GsmManager *manager, - gboolean *shutdown_available, - GError **error) -diff --git a/gnome-session/gsm-manager.h b/gnome-session/gsm-manager.h -index 17c70b3..dd6f198 100644 ---- a/gnome-session/gsm-manager.h -+++ b/gnome-session/gsm-manager.h -@@ -152,6 +152,9 @@ gboolean gsm_manager_is_inhibited (GsmManager - gboolean gsm_manager_shutdown (GsmManager *manager, - GError **error); - -+gboolean gsm_manager_save_session (GsmManager *manager, -+ GError **error); -+ - gboolean gsm_manager_can_shutdown (GsmManager *manager, - gboolean *shutdown_available, - GError **error); -diff --git a/gnome-session/gsm-xsmp-client.c b/gnome-session/gsm-xsmp-client.c -index ce22ed9..ed55406 100644 ---- a/gnome-session/gsm-xsmp-client.c -+++ b/gnome-session/gsm-xsmp-client.c -@@ -69,6 +69,7 @@ enum { - enum { - REGISTER_REQUEST, - LOGOUT_REQUEST, -+ SAVE_REQUEST, - LAST_SIGNAL - }; - -@@ -502,6 +503,30 @@ xsmp_cancel_end_session (GsmClient *client, - return TRUE; - } - -+static gboolean -+xsmp_request_save (GsmClient *client, -+ guint flags, -+ GError **error) -+{ -+ GsmXSMPClient *xsmp = (GsmXSMPClient *) client; -+ -+ g_debug ("GsmXSMPClient: xsmp_request_save ('%s')", xsmp->priv->description); -+ -+ if (xsmp->priv->conn == NULL) { -+ g_set_error (error, -+ GSM_CLIENT_ERROR, -+ GSM_CLIENT_ERROR_NOT_REGISTERED, -+ "Client is not registered"); -+ return FALSE; -+ } -+ -+ if (flags & GSM_CLIENT_END_SESSION_FLAG_LAST) -+ xsmp_save_yourself_phase2 (client); -+ else -+ do_save_yourself (xsmp, SmSaveLocal, FALSE); -+ -+ return TRUE; -+} - static char * - get_desktop_file_path (GsmXSMPClient *client) - { -@@ -976,6 +1001,7 @@ gsm_xsmp_client_class_init (GsmXSMPClientClass *klass) - object_class->get_property = gsm_xsmp_client_get_property; - object_class->set_property = gsm_xsmp_client_set_property; - -+ client_class->impl_request_save = xsmp_request_save; - client_class->impl_save = xsmp_save; - client_class->impl_stop = xsmp_stop; - client_class->impl_query_end_session = xsmp_query_end_session; -@@ -1006,6 +1032,17 @@ gsm_xsmp_client_class_init (GsmXSMPClientClass *klass) - G_TYPE_NONE, - 1, G_TYPE_BOOLEAN); - -+ signals[SAVE_REQUEST] = -+ g_signal_new ("save-request", -+ G_OBJECT_CLASS_TYPE (object_class), -+ G_SIGNAL_RUN_LAST, -+ G_STRUCT_OFFSET (GsmXSMPClientClass, save_request), -+ NULL, -+ NULL, -+ g_cclosure_marshal_VOID__BOOLEAN, -+ G_TYPE_NONE, -+ 1, G_TYPE_BOOLEAN); -+ - g_object_class_install_property (object_class, - PROP_ICE_CONNECTION, - g_param_spec_pointer ("ice-connection", -diff --git a/gnome-session/gsm-xsmp-client.h b/gnome-session/gsm-xsmp-client.h -index b80f933..4fa24fb 100644 ---- a/gnome-session/gsm-xsmp-client.h -+++ b/gnome-session/gsm-xsmp-client.h -@@ -54,7 +54,8 @@ struct _GsmXSMPClientClass - char **client_id); - gboolean (*logout_request) (GsmXSMPClient *client, - gboolean prompt); -- -+ gboolean (*save_request) (GsmXSMPClient *client, -+ gboolean prompt); - - void (*saved_state) (GsmXSMPClient *client); - -diff --git a/gnome-session/org.gnome.SessionManager.xml b/gnome-session/org.gnome.SessionManager.xml -index b8bec4e..bece3f5 100644 ---- a/gnome-session/org.gnome.SessionManager.xml -+++ b/gnome-session/org.gnome.SessionManager.xml -@@ -256,6 +256,14 @@ - </doc:doc> - </method> - -+ <method name="SaveSession"> -+ <doc:doc> -+ <doc:description> -+ <doc:para>Request to save session</doc:para> -+ </doc:description> -+ </doc:doc> -+ </method> -+ - <method name="CanShutdown"> - <arg name="is_available" direction="out" type="b"> - <doc:doc> --- -1.7.2.2 - diff --git a/gnome-base/gnome-session/files/gnome-session-2.32.1-dialog-size.patch b/gnome-base/gnome-session/files/gnome-session-2.32.1-dialog-size.patch deleted file mode 100644 index c5cfcebbfd8b..000000000000 --- a/gnome-base/gnome-session/files/gnome-session-2.32.1-dialog-size.patch +++ /dev/null @@ -1,21 +0,0 @@ -From 8c4cdd5304929d19a27f876eb9cb5bbb67a4d59f Mon Sep 17 00:00:00 2001 -From: Vincent Untz <vuntz@gnome.org> -Date: Mon, 29 Nov 2010 21:44:03 +0000 -Subject: capplet: Give the dialog a reasonable default height - -https://bugzilla.gnome.org/show_bug.cgi?id=635891 ---- -diff --git a/capplet/gsm-properties-dialog.c b/capplet/gsm-properties-dialog.c -index 4432b09..8b51169 100644 ---- a/capplet/gsm-properties-dialog.c -+++ b/capplet/gsm-properties-dialog.c -@@ -784,6 +784,7 @@ gsm_properties_dialog_init (GsmPropertiesDialog *dialog) - "main-notebook")); - gtk_box_pack_start (GTK_BOX (content_area), widget, TRUE, TRUE, 0); - -+ gtk_window_set_default_size (GTK_WINDOW (dialog), -1, 450); - gtk_window_set_resizable (GTK_WINDOW (dialog), TRUE); - gtk_container_set_border_width (GTK_CONTAINER (dialog), 6); - gtk_box_set_spacing (GTK_BOX (content_area), 2); --- -cgit v0.9.0.2 diff --git a/gnome-base/gnome-session/files/gnome-session-2.32.1-dialog-size2.patch b/gnome-base/gnome-session/files/gnome-session-2.32.1-dialog-size2.patch deleted file mode 100644 index 39a02806d599..000000000000 --- a/gnome-base/gnome-session/files/gnome-session-2.32.1-dialog-size2.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 6fd301895a39fc32f302ea3fced74fc03e5c75c9 Mon Sep 17 00:00:00 2001 -From: Vincent Untz <vuntz@gnome.org> -Date: Mon, 29 Nov 2010 21:47:00 +0000 -Subject: capplet: Also give the dialog a reasonable width - -We don't want to depend on the natural size, which depends on the length -of strings for this. - -https://bugzilla.gnome.org/show_bug.cgi?id=635891 ---- -diff --git a/capplet/gsm-properties-dialog.c b/capplet/gsm-properties-dialog.c -index 8b51169..487250e 100644 ---- a/capplet/gsm-properties-dialog.c -+++ b/capplet/gsm-properties-dialog.c -@@ -784,7 +784,7 @@ gsm_properties_dialog_init (GsmPropertiesDialog *dialog) - "main-notebook")); - gtk_box_pack_start (GTK_BOX (content_area), widget, TRUE, TRUE, 0); - -- gtk_window_set_default_size (GTK_WINDOW (dialog), -1, 450); -+ gtk_window_set_default_size (GTK_WINDOW (dialog), 600, 450); - gtk_window_set_resizable (GTK_WINDOW (dialog), TRUE); - gtk_container_set_border_width (GTK_CONTAINER (dialog), 6); - gtk_box_set_spacing (GTK_BOX (content_area), 2); --- -cgit v0.9.0.2 diff --git a/gnome-base/gnome-session/files/gnome-session-2.32.1-gnome3-conditions.patch b/gnome-base/gnome-session/files/gnome-session-2.32.1-gnome3-conditions.patch deleted file mode 100644 index a4c220732503..000000000000 --- a/gnome-base/gnome-session/files/gnome-session-2.32.1-gnome3-conditions.patch +++ /dev/null @@ -1,107 +0,0 @@ -From d27c9dfb07e0d69ff37d029e5647bd68e7db7e95 Mon Sep 17 00:00:00 2001 -From: Nirbheek Chauhan <nirbheek@gentoo.org> -Date: Mon, 4 Apr 2011 18:07:09 +0530 -Subject: [PATCH] Don't reject GNOME 3 session autostart conditions - -gnome-session-3.0 introduced a new AutostartCondition=GNOME3 directive. -See commit 58ebdfac for details on that. - -This commit adds detection for that directive instead of disabling .desktop -files with that. Now, apps are autostarted if they contain: - - AutostartCondition=GNOME3 is-session gnome-fallback -or - AutostartCondition=GNOME3 unless-session [something other than gnome-fallback] - -And are disabled for all other cases. ---- - gnome-session/gsm-autostart-app.c | 45 +++++++++++++++++++++++++++++++----- - 1 files changed, 38 insertions(+), 7 deletions(-) - -diff --git a/gnome-session/gsm-autostart-app.c b/gnome-session/gsm-autostart-app.c -index 529a346..abc918f 100644 ---- a/gnome-session/gsm-autostart-app.c -+++ b/gnome-session/gsm-autostart-app.c -@@ -40,11 +40,14 @@ enum { - }; - - enum { -- GSM_CONDITION_NONE = 0, -- GSM_CONDITION_IF_EXISTS = 1, -- GSM_CONDITION_UNLESS_EXISTS = 2, -- GSM_CONDITION_GNOME = 3, -- GSM_CONDITION_UNKNOWN = 4 -+ GSM_CONDITION_NONE = 0, -+ GSM_CONDITION_IF_EXISTS = 1, -+ GSM_CONDITION_UNLESS_EXISTS = 2, -+ GSM_CONDITION_GNOME = 3, -+ GSM_CONDITION_GSETTINGS = 4, -+ GSM_CONDITION_IF_SESSION = 5, -+ GSM_CONDITION_UNLESS_SESSION = 6, -+ GSM_CONDITION_UNKNOWN = 7 - }; - - #define GSM_SESSION_CLIENT_DBUS_INTERFACE "org.gnome.SessionClient" -@@ -153,15 +156,31 @@ parse_condition_string (const char *condition_string, - key++; - } - -+ kind = GSM_CONDITION_UNKNOWN; -+ - if (!g_ascii_strncasecmp (condition_string, "if-exists", len) && key) { - kind = GSM_CONDITION_IF_EXISTS; - } else if (!g_ascii_strncasecmp (condition_string, "unless-exists", len) && key) { - kind = GSM_CONDITION_UNLESS_EXISTS; - } else if (!g_ascii_strncasecmp (condition_string, "GNOME", len)) { - kind = GSM_CONDITION_GNOME; -- } else { -+ } else if (!g_ascii_strncasecmp (condition_string, "GNOME3", len)) { -+ condition_string = key; -+ space = condition_string + strcspn (condition_string, " "); -+ len = space - condition_string; -+ key = space; -+ while (isspace ((unsigned char)*key)) { -+ key++; -+ } -+ if (!g_ascii_strncasecmp (condition_string, "if-session", len) && key) { -+ kind = GSM_CONDITION_IF_SESSION; -+ } else if (!g_ascii_strncasecmp (condition_string, "unless-session", len) && key) { -+ kind = GSM_CONDITION_UNLESS_SESSION; -+ } -+ } -+ -+ if (kind == GSM_CONDITION_UNKNOWN) { - key = NULL; -- kind = GSM_CONDITION_UNKNOWN; - } - - if (keyp != NULL) { -@@ -364,6 +383,12 @@ setup_condition_monitor (GsmAutostartApp *app) - gconf_condition_cb, - app, NULL, NULL); - g_object_unref (client); -+ } else if (kind == GSM_CONDITION_IF_SESSION) { -+ /* We treat GNOME 2.32 as the same as gnome-fallback */ -+ disabled = strcmp ("gnome-fallback", key) != 0; -+ } else if (kind == GSM_CONDITION_UNLESS_SESSION) { -+ /* We treat GNOME 2.32 as the same as gnome-fallback */ -+ disabled = strcmp ("gnome-fallback", key) == 0; - } else { - disabled = TRUE; - } -@@ -647,6 +672,12 @@ is_conditionally_disabled (GsmApp *app) - g_assert (GCONF_IS_CLIENT (client)); - disabled = !gconf_client_get_bool (client, key, NULL); - g_object_unref (client); -+ } else if (kind == GSM_CONDITION_IF_SESSION) { -+ /* We treat GNOME 2.32 as the same as gnome-fallback */ -+ disabled = strcmp ("gnome-fallback", key) != 0; -+ } else if (kind == GSM_CONDITION_UNLESS_SESSION) { -+ /* We treat GNOME 2.32 as the same as gnome-fallback */ -+ disabled = strcmp ("gnome-fallback", key) == 0; - } else { - disabled = TRUE; - } --- -1.7.3.4 - diff --git a/gnome-base/gnome-session/files/gnome-session-2.32.1-gsettings-conditions.patch b/gnome-base/gnome-session/files/gnome-session-2.32.1-gsettings-conditions.patch deleted file mode 100644 index 9c272375e3eb..000000000000 --- a/gnome-base/gnome-session/files/gnome-session-2.32.1-gsettings-conditions.patch +++ /dev/null @@ -1,135 +0,0 @@ ---- gnome-session/gsm-autostart-app.c.old 2011-09-12 11:06:20.552420744 +0200 -+++ gnome-session/gsm-autostart-app.c 2011-09-12 11:18:39.934966203 +0200 -@@ -66,6 +66,7 @@ - - GFileMonitor *condition_monitor; - guint condition_notify_id; -+ GSettings *condition_settings; - - int launch_type; - GPid pid; -@@ -164,6 +165,8 @@ - kind = GSM_CONDITION_UNLESS_EXISTS; - } else if (!g_ascii_strncasecmp (condition_string, "GNOME", len)) { - kind = GSM_CONDITION_GNOME; -+ } else if (!g_ascii_strncasecmp (condition_string, "GSettings", len)) { -+ kind = GSM_CONDITION_GSETTINGS; - } else if (!g_ascii_strncasecmp (condition_string, "GNOME3", len)) { - condition_string = key; - space = condition_string + strcspn (condition_string, " "); -@@ -289,6 +292,81 @@ - } - - static void -+gsettings_condition_cb (GSettings *settings, -+ const char *key, -+ gpointer user_data) -+{ -+ GsmApp *app; -+ GsmAutostartAppPrivate *priv; -+ gboolean condition; -+ -+ g_return_if_fail (GSM_IS_APP (user_data)); -+ -+ app = GSM_APP (user_data); -+ -+ priv = GSM_AUTOSTART_APP (app)->priv; -+ -+ condition = g_settings_get_boolean (settings, key); -+ -+ g_debug ("GsmAutostartApp: app:%s condition changed condition:%d", -+ gsm_app_peek_id (app), -+ condition); -+ -+ /* Emit only if the condition actually changed */ -+ if (condition != priv->condition) { -+ priv->condition = condition; -+ g_signal_emit (app, signals[CONDITION_CHANGED], 0, condition); -+ } -+} -+ -+static gboolean -+setup_gsettings_condition_monitor (GsmAutostartApp *app, -+ const char *key) -+{ -+ GSettings *settings; -+ const char * const *schemas; -+ char **elems; -+ gboolean schema_exists; -+ guint i; -+ gboolean retval; -+ char *signal; -+ -+ elems = g_strsplit (key, " ", 2); -+ if (elems == NULL) -+ return FALSE; -+ if (elems[0] == NULL || elems[1] == NULL) { -+ g_strfreev (elems); -+ return FALSE; -+ } -+ -+ schemas = g_settings_list_schemas (); -+ schema_exists = FALSE; -+ for (i = 0; schemas[i] != NULL; i++) { -+ if (g_str_equal (schemas[i], elems[0])) { -+ schema_exists = TRUE; -+ break; -+ } -+ } -+ -+ if (schema_exists == FALSE) -+ return FALSE; -+ -+ settings = g_settings_new (elems[0]); -+ retval = g_settings_get_boolean (settings, elems[1]); -+ -+ signal = g_strdup_printf ("changed::%s", elems[1]); -+ g_signal_connect (G_OBJECT (settings), signal, -+ G_CALLBACK (gsettings_condition_cb), app); -+ g_free (signal); -+ -+ app->priv->condition_settings = settings; -+ -+ g_strfreev (elems); -+ -+ return retval; -+} -+ -+static void - setup_condition_monitor (GsmAutostartApp *app) - { - guint kind; -@@ -383,6 +461,8 @@ - gconf_condition_cb, - app, NULL, NULL); - g_object_unref (client); -+ } else if (kind == GSM_CONDITION_GSETTINGS) { -+ disabled = !setup_gsettings_condition_monitor (app, key); - } else if (kind == GSM_CONDITION_IF_SESSION) { - /* We treat GNOME 2.32 as the same as gnome-fallback */ - disabled = strcmp ("gnome-fallback", key) != 0; -@@ -578,6 +658,11 @@ - priv->condition_string = NULL; - } - -+ if (priv->condition_settings) { -+ g_object_unref (priv->condition_settings); -+ priv->condition_settings = NULL; -+ } -+ - if (priv->desktop_file) { - egg_desktop_file_free (priv->desktop_file); - priv->desktop_file = NULL; -@@ -672,6 +757,12 @@ - g_assert (GCONF_IS_CLIENT (client)); - disabled = !gconf_client_get_bool (client, key, NULL); - g_object_unref (client); -+ } else if (kind == GSM_CONDITION_GSETTINGS && -+ priv->condition_settings != NULL) { -+ char **elems; -+ elems = g_strsplit (key, " ", 2); -+ disabled = !g_settings_get_boolean (priv->condition_settings, elems[1]); -+ g_strfreev (elems); - } else if (kind == GSM_CONDITION_IF_SESSION) { - /* We treat GNOME 2.32 as the same as gnome-fallback */ - disabled = strcmp ("gnome-fallback", key) != 0; diff --git a/gnome-base/gnome-session/files/gnome-session-2.32.1-idle-transition.patch b/gnome-base/gnome-session/files/gnome-session-2.32.1-idle-transition.patch deleted file mode 100644 index 4fb215151d12..000000000000 --- a/gnome-base/gnome-session/files/gnome-session-2.32.1-idle-transition.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 861313503a741f0129611ca005cf6d7c27124b54 Mon Sep 17 00:00:00 2001 -From: Christopher Halse Rogers <chalserogers@gmail.com> -Date: Thu, 26 May 2011 09:09:14 +0000 -Subject: gsm: Fix race condition in idle monitor - -In _xsync_alarm_set(), the positive and negative transition intervals -are set to the same value. However, the SYNC extension defines the -positive transition as set when the counter goes from strictly below the -threshold to greater than or equal to the threshold and similarly a -negative transition is triggered when the counter goes form strictly -greater than the threshold to less than or equal to the threshold. - -Thus in the current set up there's a chance that the positive transition -can trigger, marking the session as idle, and some user input occur on -the same click so the IDLETIME count will hit the threshold but not go -above so the negative transition will not trigger. Thus the session will -not be marked as active. - -The negative transition threshold should be set to 1ms less than the -positive transition to ensure that it always fires. - -https://bugzilla.gnome.org/show_bug.cgi?id=627903 ---- -diff --git a/gnome-session/gs-idle-monitor.c b/gnome-session/gs-idle-monitor.c -index cd38dcb..d25144f 100644 ---- a/gnome-session/gs-idle-monitor.c -+++ b/gnome-session/gs-idle-monitor.c -@@ -463,6 +463,7 @@ _xsync_alarm_set (GSIdleMonitor *monitor, - watch->xalarm_positive = XSyncCreateAlarm (monitor->priv->display, flags, &attr); - } - -+ attr.trigger.wait_value = _int64_to_xsyncvalue (_xsyncvalue_to_int64 (watch->interval) - 1); - attr.trigger.test_type = XSyncNegativeTransition; - if (watch->xalarm_negative != None) { - g_debug ("GSIdleMonitor: updating alarm for negative transition wait=%lld", --- -cgit v0.9.0.2 diff --git a/gnome-base/gnome-session/files/gnome-session-3.8.4-blacklist-nv25.patch b/gnome-base/gnome-session/files/gnome-session-3.8.4-blacklist-nv25.patch deleted file mode 100644 index 3f28c2b2a60d..000000000000 --- a/gnome-base/gnome-session/files/gnome-session-3.8.4-blacklist-nv25.patch +++ /dev/null @@ -1,22 +0,0 @@ -From f11f157d507495589b0f4930f4fcc431c87bc121 Mon Sep 17 00:00:00 2001 -From: Ray Strode <rstrode@redhat.com> -Date: Tue, 12 Nov 2013 13:32:45 +0000 -Subject: data: blacklist nv25 - -It doesn't work very well. - -https://bugzilla.gnome.org/show_bug.cgi?id=711347 ---- -diff --git a/data/hardware-compatibility b/data/hardware-compatibility -index 927ba8b..48b7946 100644 ---- a/data/hardware-compatibility -+++ b/data/hardware-compatibility -@@ -27,3 +27,6 @@ - - # Gallium has softpipe; we explicitly enable llvmpipe - -softpipe -+ -+# nouveau vieux NV25 doesn't work too well -+-Mesa DRI nv25 --- -cgit v0.9.2 diff --git a/gnome-base/gnome-session/files/gnome-session-3.8.4-presence-crash.patch b/gnome-base/gnome-session/files/gnome-session-3.8.4-presence-crash.patch deleted file mode 100644 index e76f433a9c1b..000000000000 --- a/gnome-base/gnome-session/files/gnome-session-3.8.4-presence-crash.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 90714db611d6ced5202421ef3ba99334f1e9e6ec Mon Sep 17 00:00:00 2001 -From: Matthias Clasen <mclasen@redhat.com> -Date: Fri, 01 Nov 2013 20:30:06 +0000 -Subject: Fix a possible crash in the presence interface - -Improper error handling in gsm_presence_set_status_text() would -lead to a double free on the next call to that function. -Found using the dfuzzer tool, -https://github.com/matusmarhefka/dfuzzer ---- -diff --git a/gnome-session/gsm-presence.c b/gnome-session/gsm-presence.c -index f6a022f..93ca1a0 100644 ---- a/gnome-session/gsm-presence.c -+++ b/gnome-session/gsm-presence.c -@@ -365,6 +365,7 @@ gsm_presence_set_status_text (GsmPresence *presence, - g_return_val_if_fail (GSM_IS_PRESENCE (presence), FALSE); - - g_free (presence->priv->status_text); -+ presence->priv->status_text = NULL; - - /* check length */ - if (status_text != NULL && strlen (status_text) > MAX_STATUS_TEXT) { -@@ -377,11 +378,11 @@ gsm_presence_set_status_text (GsmPresence *presence, - - if (status_text != NULL) { - presence->priv->status_text = g_strdup (status_text); -- } else { -- presence->priv->status_text = g_strdup (""); - } -+ - g_object_notify (G_OBJECT (presence), "status-text"); -- g_signal_emit (presence, signals[STATUS_TEXT_CHANGED], 0, presence->priv->status_text); -+ g_signal_emit (presence, signals[STATUS_TEXT_CHANGED], 0, -+ presence->priv->status_text ? presence->priv->status_text : ""); - return TRUE; - } - -@@ -457,7 +458,7 @@ gsm_presence_get_property (GObject *object, - g_value_set_uint (value, self->priv->status); - break; - case PROP_STATUS_TEXT: -- g_value_set_string (value, self->priv->status_text); -+ g_value_set_string (value, self->priv->status_text ? self->priv->status_text : ""); - break; - case PROP_IDLE_ENABLED: - g_value_set_boolean (value, self->priv->idle_enabled); --- -cgit v0.9.2 |