[mate-panel/f17] git merge master

Wolfgang Ulbrich raveit65 at fedoraproject.org
Thu Jul 18 13:41:30 UTC 2013


commit f99aae9075c0b69da0f0e84ae8f85b62e7c08f7a
Author: raveit65 <chat-to-me at raveit.de>
Date:   Thu Jul 18 15:41:15 2013 +0200

    git merge master

 .gitignore                 |    1 +
 mate-panel.spec            |   21 +++++--
 mate-panel_reset_fix.patch |  142 ++++++++++++++++++++++++++++++++++++++++++++
 sources                    |    2 +-
 4 files changed, 159 insertions(+), 7 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index f5797d0..142e96b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@
 /mate-panel-1.5.5.tar.xz
 /mate-panel-1.5.6.tar.xz
 /mate-panel-1.6.0.tar.xz
+/mate-panel-1.6.1.tar.xz
diff --git a/mate-panel.spec b/mate-panel.spec
index 30854a3..4c6fba3 100644
--- a/mate-panel.spec
+++ b/mate-panel.spec
@@ -1,13 +1,17 @@
 Name:           mate-panel
-Version:        1.6.0
-Release:        3%{?dist}
+Version:        1.6.1
+Release:        1%{?dist}
 Summary:        MATE Desktop panel applets
 #libs are LGPLv2+ applications GPLv2+
 License:        GPLv2+
 URL:            http://mate-desktop.org
-Source0:        http://pub.mate-desktop.org/releases/1.5/%{name}-%{version}.tar.xz
+Source0:        http://pub.mate-desktop.org/releases/1.6/%{name}-%{version}.tar.xz
 Source1:        panel-default-layout.dist
 
+# upstream patch
+# http://git.mate-desktop.org/mate-panel/commit/?h=issue-111
+Patch0:         mate-panel_reset_fix.patch
+
 Requires:       %{name}-libs%{?_isa} = %{version}-%{release}
 # needed as nothing else requires it
 Requires:       mate-session-manager
@@ -19,7 +23,6 @@ BuildRequires:  dbus-glib-devel
 BuildRequires:  dconf-devel
 BuildRequires:  desktop-file-utils
 BuildRequires:  gobject-introspection-devel
-BuildRequires:  gsettings-desktop-schemas-devel
 BuildRequires:  gtk2-devel
 BuildRequires:  icon-naming-utils
 BuildRequires:  libcanberra-devel
@@ -57,10 +60,11 @@ Development files for mate-panel
 
 %prep
 %setup -q
+%patch0 -p1 -b .reset
 
 
 %build
-NOCONFIGURE=1 ./autogen.sh
+
 #libexecdir needed for gnome conflicts
 %configure --disable-scrollkeeper                 \
            --disable-static                       \
@@ -123,7 +127,6 @@ update-desktop-database &> /dev/null || :
 %{_datadir}/mate/help/mate-applet-clock/
 %{_datadir}/mate/help/mate-applet-fish/
 %{_datadir}/mate-panel/
-%{_datadir}/mate-panelrc
 %{_datadir}/dbus-1/services/org.mate.panel.applet.ClockAppletFactory.service
 %{_datadir}/dbus-1/services/org.mate.panel.applet.FishAppletFactory.service
 %{_datadir}/dbus-1/services/org.mate.panel.applet.NotificationAreaAppletFactory.service
@@ -145,6 +148,12 @@ update-desktop-database &> /dev/null || :
 
 
 %changelog
+* Sat Jun 15 2013 Wolfgang Ulbrich <chat-to-me at raveit.de> - 1.6.1-1
+- update to 1.6.1
+- add upstream patch to fix partially
+- https://github.com/mate-desktop/mate-panel/issues/111
+- remove needless BR gsettings-desktop-schemas-devel
+
 * Sat Jun 15 2013 Wolfgang Ulbrich <chat-to-me at raveit.de> - 1.6.0-3
 - remove gsettings convert file
 
diff --git a/mate-panel_reset_fix.patch b/mate-panel_reset_fix.patch
new file mode 100644
index 0000000..5e17461
--- /dev/null
+++ b/mate-panel_reset_fix.patch
@@ -0,0 +1,142 @@
+From 1cfee5fd5836c47761b874c351c1c90f3114c15d Mon Sep 17 00:00:00 2001
+From: Stefano Karapetsas <stefano at karapetsas.com>
+Date: Sun, 14 Jul 2013 20:15:56 +0000
+Subject: Fix mate-panel --reset
+
+---
+diff --git a/mate-panel/libpanel-util/panel-dconf.c b/mate-panel/libpanel-util/panel-dconf.c
+index a103bcf..26ca092 100644
+--- a/mate-panel/libpanel-util/panel-dconf.c
++++ b/mate-panel/libpanel-util/panel-dconf.c
+@@ -111,3 +111,12 @@ panel_dconf_list_subdirs (const gchar *dir,
+ 
+         return (gchar **) g_array_free (array, FALSE);
+ }
++
++void panel_dconf_sync ()
++{
++#ifdef HAVE_DCONF_0_13
++        DConfClient  *client = panel_dconf_client_get ();
++        dconf_client_sync (client);
++        g_object_unref (client);
++#endif
++}
+diff --git a/mate-panel/libpanel-util/panel-dconf.h b/mate-panel/libpanel-util/panel-dconf.h
+index 1683ec0..ba1abfd 100644
+--- a/mate-panel/libpanel-util/panel-dconf.h
++++ b/mate-panel/libpanel-util/panel-dconf.h
+@@ -39,6 +39,8 @@ gboolean panel_dconf_recursive_reset (const gchar  *dir,
+ gchar **panel_dconf_list_subdirs (const gchar *dir,
+                                   gboolean     remove_trailing_slash);
+ 
++void panel_dconf_sync ();
++
+ G_END_DECLS
+ 
+ #endif /* __PANEL_DCONF_H__ */
+diff --git a/mate-panel/panel-layout.c b/mate-panel/panel-layout.c
+index 4732420..9ad4026 100644
+--- a/mate-panel/panel-layout.c
++++ b/mate-panel/panel-layout.c
+@@ -122,6 +122,7 @@ panel_layout_append_group_helper (GKeyFile                  *keyfile,
+     char       *unique_id = NULL;
+     char       *path = NULL;
+     GSettings  *settings = NULL;
++    GSettings  *panel_settings = NULL;
+     char      **keyfile_keys = NULL;
+     char       *value_str;
+     int         value_int;
+@@ -184,6 +185,8 @@ panel_layout_append_group_helper (GKeyFile                  *keyfile,
+     g_free (path);
+ 
+     keyfile_keys = g_key_file_get_keys (keyfile, group, NULL, NULL);
++    panel_settings = g_settings_new (PANEL_SCHEMA);
++    g_settings_delay (panel_settings);
+ 
+     if (keyfile_keys) {
+ 
+@@ -247,12 +250,9 @@ panel_layout_append_group_helper (GKeyFile                  *keyfile,
+                                 PANEL_TOPLEVEL_SCREEN_KEY,
+                                 set_screen_to);
+ 
+-        GSettings *panel_settings;
+-        panel_settings = g_settings_new (PANEL_SCHEMA);
+         panel_gsettings_append_strv (panel_settings,
+                                      id_list_key,
+                                      unique_id);
+-        g_object_unref (panel_settings);
+ 
+         retval = TRUE;
+     }
+@@ -263,6 +263,11 @@ panel_layout_append_group_helper (GKeyFile                  *keyfile,
+     if (settings)
+         g_object_unref (settings);
+ 
++    if (panel_settings) {
++        g_settings_apply (panel_settings);
++        g_object_unref (panel_settings);
++    }
++
+     if (unique_id)
+         g_free (unique_id);
+ 
+diff --git a/mate-panel/panel-profile.c b/mate-panel/panel-profile.c
+index 57e11d0..37a2433 100644
+--- a/mate-panel/panel-profile.c
++++ b/mate-panel/panel-profile.c
+@@ -1601,7 +1601,7 @@ panel_profile_load_list (GSettings              *settings,
+ 	g_free (key);
+ }
+ 
+-static void
++void
+ panel_profile_ensure_toplevel_per_screen ()
+ {
+ 	GSList     *toplevels;
+diff --git a/mate-panel/panel-profile.h b/mate-panel/panel-profile.h
+index 665e237..162d84c 100644
+--- a/mate-panel/panel-profile.h
++++ b/mate-panel/panel-profile.h
+@@ -154,6 +154,8 @@ gboolean    panel_profile_can_be_moved_freely         (PanelToplevel *toplevel);
+ 
+ GSettings*  panel_profile_get_attached_object_settings (PanelToplevel *toplevel);
+ 
++void        panel_profile_ensure_toplevel_per_screen  ();
++
+ G_END_DECLS
+ 
+ #endif /* __PANEL_PROFILE_H__ */
+diff --git a/mate-panel/panel-reset.c b/mate-panel/panel-reset.c
+index e441f55..6307ba2 100644
+--- a/mate-panel/panel-reset.c
++++ b/mate-panel/panel-reset.c
+@@ -28,19 +28,24 @@
+ 
+ #include <stdlib.h>
+ #include <glib.h>
++#include <gio/gio.h>
+ #include "panel-reset.h"
+ #include "panel-schemas.h"
++#include "panel-profile.h"
+ #include <libpanel-util/panel-dconf.h>
+ 
+ void
+ panel_reset()
+ {
++	/* reset configuration */
+ 	panel_dconf_recursive_reset (PANEL_GENERAL_PATH, NULL);
+ 	panel_dconf_recursive_reset (PANEL_TOPLEVEL_PATH, NULL);
+ 	panel_dconf_recursive_reset (PANEL_OBJECT_PATH, NULL);
++	panel_dconf_sync ();
+ 
+-	/* TODO: send a dbus message to mate-panel, if active, to reload the panel
+-	 * configuration */
++	/* create default panels */
++	panel_profile_ensure_toplevel_per_screen ();
++	g_settings_sync ();
+ }
+ 
+ #endif /* !__PANEL_RESET_C__ */
+--
+cgit 
+
diff --git a/sources b/sources
index 56f3624..7af662b 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-680c8d4ab63741b64eb0713bc06e438d  mate-panel-1.6.0.tar.xz
+330120e045183413bca371b295c6a1df  mate-panel-1.6.1.tar.xz


More information about the scm-commits mailing list