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]

Reply via email to