Hello community, here is the log from the commit of package gtkpod for openSUSE:Factory checked in at 2013-05-13 14:56:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gtkpod (Old) and /work/SRC/openSUSE:Factory/.gtkpod.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gtkpod" Changes: -------- --- /work/SRC/openSUSE:Factory/gtkpod/gtkpod.changes 2013-01-07 15:18:38.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.gtkpod.new/gtkpod.changes 2013-05-13 14:56:43.000000000 +0200 @@ -1,0 +2,7 @@ +Wed May 8 09:08:19 UTC 2013 - [email protected] + +- Replace gtkpod-gdl362.patch with what upstream commited, as + commit 47a3bc. +- Add gtkpod-anjuta-3.8.0.patch: fix build with anjuta 3.8.0. + +------------------------------------------------------------------- New: ---- gtkpod-anjuta-3.8.0.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gtkpod.spec ++++++ --- /var/tmp/diff_new_pack.eJejgZ/_old 2013-05-13 14:56:45.000000000 +0200 +++ /var/tmp/diff_new_pack.eJejgZ/_new 2013-05-13 14:56:45.000000000 +0200 @@ -26,8 +26,10 @@ Source0: http://downloads.sourceforge.net/project/gtkpod/gtkpod/gtkpod-2.1.3/%{name}-%{version}.tar.gz # PATCH-FEATURE-OPENSUSE gtkpod-pref.patch -- Preferences to mountpoint and some tag preferences Patch0: gtkpod-pref.patch -# PATCH-FIX-UPSTREAM gtkpod-gdl362.patch [email protected] -- Adapt to gdl 3.6.2 API change. http://gtkpod.org/bugs/index.php?do=details&task_id=123 +# PATCH-FIX-UPSTREAM gtkpod-gdl362.patch [email protected] -- Adapt to GDL/Anjuta 3.6.2 API change. http://gtkpod.org/bugs/index.php?do=details&task_id=123 Patch3: gtkpod-gdl362.patch +# PATCH-FIX-UPSTREAM gtkpod-anjuta-3.8.0.patch [email protected] -- Fix build with Anjuta 3.8, taken from upstream git. +Patch4: gtkpod-anjuta-3.8.0.patch BuildRequires: fdupes BuildRequires: flex BuildRequires: gcc-c++ @@ -103,6 +105,7 @@ %setup -q %patch0 -p1 %patch3 -p1 +%patch4 -p1 %build %configure --disable-static ++++++ gtkpod-anjuta-3.8.0.patch ++++++ commit 8f833a3ecebb8b8eae7d039c55abc7feca128d4d Author: phantomjinx <[email protected]> Date: Sat Apr 27 22:58:53 2013 +0100 Fixes to cater for changing API in anjuta version 3.8.0+ * Contribute to future proofing against new versions of anjuta library * core_prefs.c * coverweb.c * plugin.c * anjuta-app.c * Fixes error messages about destroyed widgets being already destroyed * gtkpod.c * anjuta-about.c * Makes changes to align code more closely with the anjuta 3.8.0 codebase diff --git a/plugins/core_preferences/core_prefs.c b/plugins/core_preferences/core_prefs.c index ced4e3c..d8c293c 100644 --- a/plugins/core_preferences/core_prefs.c +++ b/plugins/core_preferences/core_prefs.c @@ -736,10 +736,10 @@ GtkWidget *init_settings_preferences(gchar *builder_file_path) { } void destroy_settings_preferences() { - if (notebook) + if (notebook && GTK_IS_WIDGET(notebook)) gtk_widget_destroy(notebook); - if (builder) + if (builder && G_IS_OBJECT(builder)) g_object_unref(builder); builder_path = NULL; diff --git a/plugins/coverweb/coverweb.c b/plugins/coverweb/coverweb.c index 26a6314..1591939 100644 --- a/plugins/coverweb/coverweb.c +++ b/plugins/coverweb/coverweb.c @@ -199,6 +199,9 @@ WebBrowser *init_web_browser(GtkWidget *parent) { * destroy the web browser and all associated items. */ void destroy_cover_web() { - gtk_widget_destroy(browser->window); + if (GTK_IS_WIDGET(browser->window)) + gtk_widget_destroy(browser->window); + + g_free(browser); browser = NULL; } diff --git a/plugins/sorttab_display/plugin.c b/plugins/sorttab_display/plugin.c index 5656a5e..f5a0589 100644 --- a/plugins/sorttab_display/plugin.c +++ b/plugins/sorttab_display/plugin.c @@ -207,7 +207,9 @@ static gboolean deactivate_sorttab_display_plugin(AnjutaPlugin *plugin) { anjuta_shell_remove_widget(plugin->shell, sorttab_display_plugin->sort_tab_widget_parent, NULL); /* Destroy the sort tab widget parent */ - gtk_widget_destroy(sorttab_display_plugin->sort_tab_widget_parent); + if (GTK_IS_WIDGET(sorttab_display_plugin->sort_tab_widget_parent)) + gtk_widget_destroy(sorttab_display_plugin->sort_tab_widget_parent); + sorttab_display_plugin->sort_tab_widget_parent = NULL; /* Unmerge UI */ diff --git a/src/anjuta-about.c b/src/anjuta-about.c index 988ff1b..6dcfa91 100644 --- a/src/anjuta-about.c +++ b/src/anjuta-about.c @@ -190,7 +190,7 @@ GtkWidget *about_box_new(GtkWindow *parent) { return dialog; } -static void on_about_plugin_activate(GtkMenuItem *item, AnjutaPluginDescription *desc) { +static void on_about_plugin_activate(GtkMenuItem *item, AnjutaShell *shell) { gchar *name = NULL; gchar *authors = NULL; gchar *license = NULL; @@ -199,6 +199,9 @@ static void on_about_plugin_activate(GtkMenuItem *item, AnjutaPluginDescription gchar *d = NULL; GdkPixbuf *pix = NULL; GtkWidget *dialog; + AnjutaPluginDescription *desc; + + desc = g_object_get_data (G_OBJECT (item), "plugin-desc"); anjuta_plugin_description_get_locale_string(desc, "Anjuta Plugin", "Name", &name); anjuta_plugin_description_get_locale_string(desc, "Anjuta Plugin", "Description", &d); @@ -214,6 +217,8 @@ static void on_about_plugin_activate(GtkMenuItem *item, AnjutaPluginDescription authors_v = g_strsplit(authors, ",", -1); } dialog = gtk_about_dialog_new(); + gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(shell)); + gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); gtk_about_dialog_set_program_name(GTK_ABOUT_DIALOG(dialog), name); gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(dialog), VERSION); if (license) @@ -260,9 +265,10 @@ void about_create_plugins_submenu(AnjutaShell *shell, GtkWidget *menuitem) { || anjuta_plugin_description_get_string(desc, "Anjuta Plugin", "License", &license)) { item = gtk_menu_item_new_with_label(label); gtk_widget_show(item); + g_object_set_data (G_OBJECT (item), "plugin-desc", desc); g_signal_connect (G_OBJECT (item), "activate", G_CALLBACK (on_about_plugin_activate), - desc); + shell); gtk_menu_shell_append(GTK_MENU_SHELL (submenu), item); g_free(authors); g_free(license); diff --git a/src/anjuta-app.c b/src/anjuta-app.c index 0028b40..909e646 100644 --- a/src/anjuta-app.c +++ b/src/anjuta-app.c @@ -436,9 +436,6 @@ static void anjuta_app_finalize(GObject *widget) { app = ANJUTA_APP (widget); - gtk_widget_destroy (GTK_WIDGET (app->ui)); - gtk_widget_destroy (GTK_WIDGET (app->preferences)); - G_OBJECT_CLASS(parent_class)->finalize(widget); } diff --git a/src/gtkpod.c b/src/gtkpod.c index bdc9149..40a00e2 100644 --- a/src/gtkpod.c +++ b/src/gtkpod.c @@ -29,6 +29,7 @@ #include <gtk/gtk.h> #include <libanjuta/anjuta-utils.h> #include <libanjuta/anjuta-shell.h> +#include <libanjuta/anjuta-version.h> #include "gtkpod.h" #include "libgtkpod/directories.h" @@ -220,12 +221,14 @@ static gboolean on_gtkpod_delete_event(GtkWidget *widget, GdkEvent *event, gpoin return TRUE; AnjutaPluginManager *plugin_manager; + AnjutaProfileManager *profile_manager; AnjutaApp *app; gchar *remembered_plugins; gchar *session_dir; app = ANJUTA_APP(widget); plugin_manager = anjuta_shell_get_plugin_manager(ANJUTA_SHELL(app), NULL); + profile_manager = anjuta_shell_get_profile_manager(ANJUTA_SHELL(app), NULL); /* Save remembered plugins */ remembered_plugins = anjuta_plugin_manager_get_remembered_plugins(plugin_manager); @@ -236,7 +239,20 @@ static gboolean on_gtkpod_delete_event(GtkWidget *widget, GdkEvent *event, gpoin anjuta_shell_session_save(ANJUTA_SHELL(app), session_dir, NULL); g_free(session_dir); +#if (ANJUTA_CHECK_VERSION(3, 8, 0)) + /* Close the profile manager which will emit "profile-descoped" and release + * all previous profiles. */ + anjuta_profile_manager_close (profile_manager); + + /* Hide the window while unloading all the plugins. */ + gtk_widget_hide (widget); + anjuta_plugin_manager_unload_all_plugins (plugin_manager); +#else anjuta_shell_notify_exit(ANJUTA_SHELL(app), NULL); +#endif + + /** Release any blocked widgets in order to cleanup correctly */ + release_widgets(); if (!gtkpod_cleanup_quit()) { // Dont want to quit so avoid signalling any destroy event ++++++ gtkpod-gdl362.patch ++++++ --- /var/tmp/diff_new_pack.eJejgZ/_old 2013-05-13 14:56:45.000000000 +0200 +++ /var/tmp/diff_new_pack.eJejgZ/_new 2013-05-13 14:56:45.000000000 +0200 @@ -1,44 +1,83 @@ -Index: gtkpod-2.1.2/src/anjuta-action-callbacks.c -=================================================================== ---- gtkpod-2.1.2.orig/src/anjuta-action-callbacks.c -+++ gtkpod-2.1.2/src/anjuta-action-callbacks.c -@@ -65,7 +65,7 @@ void +commit 47a3bc71ec6612bfda856e840e9ee65b31ecbc52 +Author: phantomjinx <[email protected]> +Date: Fri Apr 26 23:15:46 2013 +0100 + + Fix to cater for changing API in anjuta version 3.6.2+ + + * Contribute to future proofing against new versions of anjuta library + +diff --git a/src/anjuta-action-callbacks.c b/src/anjuta-action-callbacks.c +index fc3f732..cdd67fb 100644 +--- a/src/anjuta-action-callbacks.c ++++ b/src/anjuta-action-callbacks.c +@@ -32,6 +32,7 @@ + #include <libanjuta/anjuta-utils.h> + #include <libanjuta/resources.h> + #include <libanjuta/interfaces/ianjuta-preferences.h> ++#include <libanjuta/anjuta-version.h> + + #include "anjuta-app.h" + #include "anjuta-about.h" +@@ -65,7 +66,11 @@ void on_layout_lock_toggle (GtkAction *action, AnjutaApp *app) { if (app->layout_manager) -- g_object_set (app->layout_manager->master, "locked", -+ g_object_set (gdl_dock_layout_get_master (app->layout_manager), "locked", ++#if (ANJUTA_CHECK_VERSION(3, 6, 2)) ++ g_object_set (gdl_dock_layout_get_master (app->layout_manager), "locked", ++#else + g_object_set (app->layout_manager->master, "locked", ++#endif gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)), NULL); } -Index: gtkpod-2.1.2/src/anjuta-app.c -=================================================================== ---- gtkpod-2.1.2.orig/src/anjuta-app.c -+++ gtkpod-2.1.2/src/anjuta-app.c -@@ -252,7 +252,7 @@ static void on_gdl_style_changed(GSettin +diff --git a/src/anjuta-app.c b/src/anjuta-app.c +index df08b06..0028b40 100644 +--- a/src/anjuta-app.c ++++ b/src/anjuta-app.c +@@ -252,7 +252,13 @@ static void on_gdl_style_changed(GSettings* settings, const gchar* key, gpointer else if (g_strcmp0(pr_style, "Tabs") == 0) style = GDL_SWITCHER_STYLE_TABS; -- g_object_set(G_OBJECT(app->layout_manager->master), "switcher-style", style, NULL); -+ g_object_set(G_OBJECT(gdl_dock_layout_get_master (app->layout_manager)), "switcher-style", style, NULL); ++#if (ANJUTA_CHECK_VERSION(3, 6, 2)) ++ g_object_set (gdl_dock_layout_get_master (app->layout_manager), "switcher-style", ++ style, NULL); ++#else + g_object_set(G_OBJECT(app->layout_manager->master), "switcher-style", style, NULL); ++#endif ++ g_free(pr_style); } -@@ -478,14 +478,14 @@ static void anjuta_app_instance_init(Anj - gtk_widget_show(app->dock); - gtk_box_pack_end(GTK_BOX (hbox), app->dock, TRUE, TRUE, 0); - -- dockbar = gdl_dock_bar_new(GDL_DOCK(app->dock)); -+ dockbar = gdl_dock_bar_new(G_OBJECT(app->dock)); - gtk_widget_show(dockbar); - gtk_box_pack_start(GTK_BOX (hbox), dockbar, FALSE, FALSE, 0); +@@ -344,6 +350,7 @@ static void on_session_load(AnjutaShell *shell, AnjutaSessionPhase phase, Anjuta + /* Restore geometry */ + geometry = anjuta_session_get_string(session, "Anjuta", "Geometry"); + anjuta_app_set_geometry(app, geometry); ++ g_free (geometry); + + /* Restore window state */ + if (anjuta_session_get_int(session, "Anjuta", "Fullscreen")) { +@@ -429,8 +436,8 @@ static void anjuta_app_finalize(GObject *widget) { + + app = ANJUTA_APP (widget); -- app->layout_manager = gdl_dock_layout_new(GDL_DOCK (app->dock)); -+ app->layout_manager = gdl_dock_layout_new(G_OBJECT (app->dock)); +- g_object_unref(app->ui); +- g_object_unref(app->preferences); ++ gtk_widget_destroy (GTK_WIDGET (app->ui)); ++ gtk_widget_destroy (GTK_WIDGET (app->preferences)); + + G_OBJECT_CLASS(parent_class)->finalize(widget); + } +@@ -485,8 +492,13 @@ static void anjuta_app_instance_init(AnjutaApp *app) { + app->layout_manager = gdl_dock_layout_new(GDL_DOCK (app->dock)); g_signal_connect (app->layout_manager, "notify::dirty", G_CALLBACK (on_layout_dirty_notify), app); -- g_signal_connect (app->layout_manager->master, "notify::locked", ++#if (ANJUTA_CHECK_VERSION(3, 6, 2)) + g_signal_connect (gdl_dock_layout_get_master (app->layout_manager), "notify::locked", ++ G_CALLBACK (on_layout_locked_notify), app); ++#else + g_signal_connect (app->layout_manager->master, "notify::locked", G_CALLBACK (on_layout_locked_notify), app); ++#endif /* UI engine */ + app->ui = anjuta_ui_new(); -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
