diff --git a/planner-backport-libegg-fixes.patch b/planner-backport-libegg-fixes.patch new file mode 100644 index 0000000..9985610 --- /dev/null +++ b/planner-backport-libegg-fixes.patch @@ -0,0 +1,127 @@ +diff -ru planner-0.14.4.orig/python/plannerui.defs planner-0.14.4/python/plannerui.defs +--- planner-0.14.4.orig/python/plannerui.defs 2010-06-09 10:39:39.000000000 +0100 ++++ planner-0.14.4/python/plannerui.defs 2010-06-09 10:39:56.000000000 +0100 +@@ -30,7 +30,7 @@ + (define-method get_recent_model + (of-object "PlannerApplication") + (c-name "planner_application_get_recent_model") +- (return-type "EggRecentModel*") ++ (return-type "GtkRecentManager*") + ) + + (define-function planner_application_get_gconf_client +diff -ru planner-0.14.4.orig/src/planner-gantt-view.c planner-0.14.4/src/planner-gantt-view.c +--- planner-0.14.4.orig/src/planner-gantt-view.c 2010-06-09 10:39:39.000000000 +0100 ++++ planner-0.14.4/src/planner-gantt-view.c 2010-06-09 10:41:14.000000000 +0100 +@@ -328,6 +328,7 @@ + priv = PLANNER_GANTT_VIEW (view)->priv; + + gtk_ui_manager_remove_ui (priv->ui_manager, priv->merged_id); ++ gtk_ui_manager_remove_action_group (priv->ui_manager, priv->actions); + } + + static void +diff -ru planner-0.14.4.orig/src/planner-resource-view.c planner-0.14.4/src/planner-resource-view.c +--- planner-0.14.4.orig/src/planner-resource-view.c 2010-06-09 10:39:39.000000000 +0100 ++++ planner-0.14.4/src/planner-resource-view.c 2010-06-09 10:41:14.000000000 +0100 +@@ -389,6 +389,7 @@ + priv = PLANNER_RESOURCE_VIEW (view)->priv; + + gtk_ui_manager_remove_ui (priv->ui_manager, priv->merged_id); ++ gtk_ui_manager_remove_action_group (priv->ui_manager, priv->actions); + } + + static void +diff -ru planner-0.14.4.orig/src/planner-task-view.c planner-0.14.4/src/planner-task-view.c +--- planner-0.14.4.orig/src/planner-task-view.c 2010-06-09 10:39:39.000000000 +0100 ++++ planner-0.14.4/src/planner-task-view.c 2010-06-09 10:41:14.000000000 +0100 +@@ -253,6 +253,7 @@ + + priv = PLANNER_TASK_VIEW (view)->priv; + gtk_ui_manager_remove_ui (priv->ui_manager, priv->merged_id); ++ gtk_ui_manager_remove_action_group (priv->ui_manager, priv->actions); + } + + static void +diff -ru planner-0.14.4.orig/src/planner-usage-view.c planner-0.14.4/src/planner-usage-view.c +--- planner-0.14.4.orig/src/planner-usage-view.c 2010-06-09 10:39:39.000000000 +0100 ++++ planner-0.14.4/src/planner-usage-view.c 2010-06-09 10:41:14.000000000 +0100 +@@ -211,6 +211,7 @@ + + priv = PLANNER_USAGE_VIEW (view)->priv; + gtk_ui_manager_remove_ui (priv->ui_manager, priv->merged_id); ++ gtk_ui_manager_remove_action_group (priv->ui_manager, priv->actions); + } + + static void +diff -ru planner-0.14.4.orig/src/planner-window.c planner-0.14.4/src/planner-window.c +--- planner-0.14.4.orig/src/planner-window.c 2010-06-09 10:39:39.000000000 +0100 ++++ planner-0.14.4/src/planner-window.c 2010-06-09 10:42:32.000000000 +0100 +@@ -75,8 +75,6 @@ + GList *views; + GList *plugins; + GTimer *last_saved; +- +- GtkWidget *recent_view; + }; + + /* Drop targets. */ +@@ -409,10 +407,6 @@ + g_object_unref (priv->cmd_manager); + } + +- if (priv->recent_view) { +- g_object_unref (priv->recent_view); +- } +- + if (priv->ui_manager) { + g_object_unref (priv->ui_manager); + } +@@ -542,6 +536,9 @@ + GtkWidget *hbox; + GList *l; + GtkWidget *view_widget; ++ GtkWidget *recent_view; ++ GtkRecentFilter *filter; ++ GtkWidget *open_recent; + PlannerView *view; + gint view_num; + GtkRadioActionEntry *r_entries; +@@ -611,29 +608,27 @@ + NULL); + + /* Handle recent file stuff. */ +- priv->recent_view = gtk_recent_chooser_menu_new_for_manager ( ++ recent_view = gtk_recent_chooser_menu_new_for_manager ( + planner_application_get_recent_model (priv->application)); + +- GtkRecentFilter *filter; + filter = gtk_recent_filter_new (); + gtk_recent_filter_add_mime_type (filter, "application/x-planner"); + gtk_recent_filter_add_mime_type (filter, "application/x-mrproject"); + gtk_recent_filter_add_group (filter, "planner"); +- gtk_recent_chooser_set_filter (GTK_RECENT_CHOOSER (priv->recent_view), filter); ++ gtk_recent_chooser_set_filter (GTK_RECENT_CHOOSER (recent_view), filter); + +- g_signal_connect (priv->recent_view, ++ g_signal_connect (recent_view, + "item_activated", + G_CALLBACK (recent_chooser_item_activated), + window); + +- gtk_recent_chooser_set_sort_type (GTK_RECENT_CHOOSER (priv->recent_view), GTK_RECENT_SORT_MRU); +- gtk_recent_chooser_set_local_only (GTK_RECENT_CHOOSER (priv->recent_view), TRUE); +- gtk_recent_chooser_set_limit (GTK_RECENT_CHOOSER (priv->recent_view), 5); +- gtk_recent_chooser_menu_set_show_numbers (GTK_RECENT_CHOOSER_MENU (priv->recent_view), TRUE); ++ gtk_recent_chooser_set_sort_type (GTK_RECENT_CHOOSER (recent_view), GTK_RECENT_SORT_MRU); ++ gtk_recent_chooser_set_local_only (GTK_RECENT_CHOOSER (recent_view), TRUE); ++ gtk_recent_chooser_set_limit (GTK_RECENT_CHOOSER (recent_view), 5); ++ gtk_recent_chooser_menu_set_show_numbers (GTK_RECENT_CHOOSER_MENU (recent_view), TRUE); + +- GtkWidget *open_recent; + open_recent = gtk_ui_manager_get_widget (priv->ui_manager, "/MenuBar/File/FileOpenRecent"); +- gtk_menu_item_set_submenu (GTK_MENU_ITEM (open_recent), priv->recent_view); ++ gtk_menu_item_set_submenu (GTK_MENU_ITEM (open_recent), recent_view); + + hbox = gtk_hbox_new (FALSE, 0); + diff --git a/planner.spec b/planner.spec index 1a30f83..b8d10bc 100644 --- a/planner.spec +++ b/planner.spec @@ -7,7 +7,7 @@ Summary: A graphical project management tool Name: planner Version: 0.14.4 -Release: 22%{?dist} +Release: 23%{?dist} License: GPLv2+ Group: Applications/Productivity URL: http://live.gnome.org/Planner @@ -41,6 +41,7 @@ Patch11: planner-gnome581282-printpreview.patch Patch12: planner-gnome606824-notecolumn.patch Patch13: planner-gnome341504-paste.tasks.patch Patch14: planner-gnome615641-multiselect.patch +Patch15: planner-backport-libegg-fixes.patch %description Planner is a visual project management application which allows users to @@ -85,6 +86,7 @@ This package provides a plugin to integration planner and evolution. %patch12 -p1 -b .notecolumn %patch13 -p1 -b .copypaste %patch14 -p1 -b .multiselect +%patch15 -p1 -b .libeggfixes %build rm -rf libegg @@ -189,6 +191,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/pkgconfig/* %changelog +* Wed Jul 09 2010 Caolán McNamara - 0.14.4-23 +- backport fix for double unref of recently-used + * Tue Jun 08 2010 Caolán McNamara - 0.14.4-22 - rebuild for dependencies