Hello community,

here is the log from the commit of package fcitx-configtool for 
openSUSE:Factory checked in at 2013-01-14 09:38:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fcitx-configtool (Old)
 and      /work/SRC/openSUSE:Factory/.fcitx-configtool.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "fcitx-configtool", Maintainer is ""

Changes:
--------
--- /work/SRC/openSUSE:Factory/fcitx-configtool/fcitx-configtool.changes        
2012-10-16 11:30:44.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.fcitx-configtool.new/fcitx-configtool.changes   
2013-01-14 09:38:19.000000000 +0100
@@ -1,0 +2,6 @@
+Sun Jan 13 05:53:18 UTC 2013 - [email protected]
+
+- update version 0.4.5.2
+  * bugfix release, fix some possible crash.
+
+-------------------------------------------------------------------

Old:
----
  fcitx-configtool-0.4.5.1.tar.bz2

New:
----
  fcitx-configtool-0.4.5.2.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ fcitx-configtool.spec ++++++
--- /var/tmp/diff_new_pack.YGTOSM/_old  2013-01-14 09:38:20.000000000 +0100
+++ /var/tmp/diff_new_pack.YGTOSM/_new  2013-01-14 09:38:20.000000000 +0100
@@ -23,7 +23,7 @@
 %endif
 
 Name:           fcitx-configtool
-Version:        0.4.5.1
+Version:        0.4.5.2
 Release:        0
 Summary:        GTK GUI config tool for FCITX
 License:        GPL-2.0+

++++++ fcitx-configtool-0.4.5.1.tar.bz2 -> fcitx-configtool-0.4.5.2.tar.bz2 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcitx-configtool-0.4.5.1/COPYING 
new/fcitx-configtool-0.4.5.2/COPYING
--- old/fcitx-configtool-0.4.5.1/COPYING        2012-10-11 15:30:34.000000000 
+0200
+++ new/fcitx-configtool-0.4.5.2/COPYING        2013-01-12 17:16:06.000000000 
+0100
@@ -2,7 +2,7 @@
                Version 2, June 1991
 
  Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+     51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
@@ -305,7 +305,7 @@
 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
 
 Also add information on how to contact you by electronic and paper mail.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcitx-configtool-0.4.5.1/gtk/gdm-languages.c 
new/fcitx-configtool-0.4.5.2/gtk/gdm-languages.c
--- old/fcitx-configtool-0.4.5.1/gtk/gdm-languages.c    2012-10-11 
15:30:34.000000000 +0200
+++ new/fcitx-configtool-0.4.5.2/gtk/gdm-languages.c    2013-01-12 
17:16:06.000000000 +0100
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA..
  *
  * Written by : William Jon McCann <[email protected]>
  *              Ray Strode <[email protected]>
@@ -356,7 +356,7 @@
     GdmLocale *locale;
     GdmLocale *old_locale;
     char      *name;
-    gboolean   is_utf8;
+    gboolean   is_utf8 = TRUE;
 
     g_return_val_if_fail(language_name != NULL, FALSE);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcitx-configtool-0.4.5.1/gtk/gdm-languages.h 
new/fcitx-configtool-0.4.5.2/gtk/gdm-languages.h
--- old/fcitx-configtool-0.4.5.1/gtk/gdm-languages.h    2012-10-11 
15:30:34.000000000 +0200
+++ new/fcitx-configtool-0.4.5.2/gtk/gdm-languages.h    2013-01-12 
17:16:06.000000000 +0100
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
  *
  * Written by: Ray Strode
  *             William Jon McCann
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcitx-configtool-0.4.5.1/gtk/im_widget.c 
new/fcitx-configtool-0.4.5.2/gtk/im_widget.c
--- old/fcitx-configtool-0.4.5.1/gtk/im_widget.c        2012-10-11 
15:30:34.000000000 +0200
+++ new/fcitx-configtool-0.4.5.2/gtk/im_widget.c        2013-01-12 
17:16:06.000000000 +0100
@@ -46,7 +46,7 @@
     GHashTable* langTable;
 } foreach_ct;
 
-static void fcitx_im_widget_finalize(GObject* object);
+static void fcitx_im_widget_dispose(GObject* object);
 static void _fcitx_im_widget_connect(FcitxImWidget* self);
 static void _fcitx_im_widget_load(FcitxImWidget* self);
 static void _fcitx_inputmethod_insert_foreach_cb(gpointer data, gpointer 
user_data);
@@ -71,7 +71,7 @@
 fcitx_im_widget_class_init(FcitxImWidgetClass *klass)
 {
     GObjectClass *gobject_class = G_OBJECT_CLASS(klass);
-    gobject_class->finalize = fcitx_im_widget_finalize;
+    gobject_class->dispose = fcitx_im_widget_dispose;
 }
 
 static void
@@ -223,7 +223,7 @@
     return GTK_WIDGET(widget);
 }
 
-void fcitx_im_widget_finalize(GObject* object)
+void fcitx_im_widget_dispose(GObject* object)
 {
     FcitxImWidget* self = FCITX_IM_WIDGET(object);
     if (self->array) {
@@ -231,10 +231,18 @@
         g_ptr_array_free(self->array, FALSE);
         self->array = NULL;
     }
-    g_object_unref(self->improxy);
-    g_free(self->focus);
 
-    G_OBJECT_CLASS (fcitx_im_widget_parent_class)->finalize (object);
+    if (self->improxy) {
+        g_object_unref(self->improxy);
+        self->improxy = NULL;
+    }
+
+    if (self->focus) {
+        g_free(self->focus);
+        self->focus = NULL;
+    }
+
+    G_OBJECT_CLASS (fcitx_im_widget_parent_class)->dispose (object);
 }
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcitx-configtool-0.4.5.1/gtk/locarchive.h 
new/fcitx-configtool-0.4.5.2/gtk/locarchive.h
--- old/fcitx-configtool-0.4.5.1/gtk/locarchive.h       2012-10-11 
15:30:34.000000000 +0200
+++ new/fcitx-configtool-0.4.5.2/gtk/locarchive.h       2013-01-12 
17:16:06.000000000 +0100
@@ -14,8 +14,9 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc.,
+   51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+   */
 
 #ifndef _LOCARCHIVE_H
 #define _LOCARCHIVE_H 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcitx-configtool-0.4.5.1/gtk3/config_widget.c 
new/fcitx-configtool-0.4.5.2/gtk3/config_widget.c
--- old/fcitx-configtool-0.4.5.1/gtk3/config_widget.c   2012-10-11 
15:30:34.000000000 +0200
+++ new/fcitx-configtool-0.4.5.2/gtk3/config_widget.c   2013-01-12 
17:16:06.000000000 +0100
@@ -82,14 +82,14 @@
 fcitx_config_widget_setup_ui(FcitxConfigWidget *self);
 
 static void
-fcitx_config_widget_finalize(GObject *object);
+fcitx_config_widget_dispose(GObject *object);
 
 static void
 fcitx_config_widget_class_init(FcitxConfigWidgetClass *klass)
 {
     GObjectClass *gobject_class = G_OBJECT_CLASS(klass);
     gobject_class->set_property = fcitx_config_widget_set_property;
-    gobject_class->finalize = fcitx_config_widget_finalize;
+    gobject_class->dispose = fcitx_config_widget_dispose;
     g_object_class_install_property(gobject_class,
                                     PROP_CONFIG_DESC,
                                     g_param_spec_pointer("cfdesc",
@@ -800,18 +800,39 @@
     }
 }
 
-void  fcitx_config_widget_finalize(GObject *object)
+void  fcitx_config_widget_dispose(GObject *object)
 {
     FcitxConfigWidget* self = FCITX_CONFIG_WIDGET(object);
-    g_free(self->name);
-    g_free(self->prefix);
-    sub_config_parser_free(self->parser);
-    if (self->simpleWidget)
+    if (self->name) {
+        g_free(self->name);
+        self->name = NULL;
+    }
+
+    if (self->prefix) {
+        g_free(self->prefix);
+        self->prefix = NULL;
+    }
+
+    if (self->parser) {
+        sub_config_parser_free(self->parser);
+        self->parser = NULL;
+    }
+    if (self->simpleWidget) {
         g_object_unref(self->simpleWidget);
-    if (self->fullWidget)
+        self->simpleWidget = NULL;
+    }
+
+    if (self->fullWidget) {
         g_object_unref(self->fullWidget);
-    dummy_config_free(self->config);
-    G_OBJECT_CLASS(fcitx_config_widget_parent_class)->finalize(object);
+        self->fullWidget = NULL;
+    }
+
+    if (self->config) {
+        dummy_config_free(self->config);
+        self->config = NULL;
+    }
+
+    G_OBJECT_CLASS(fcitx_config_widget_parent_class)->dispose(object);
 }
 
 void hash_foreach_cb(gpointer       key,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcitx-configtool-0.4.5.1/gtk3/gdm-languages.c 
new/fcitx-configtool-0.4.5.2/gtk3/gdm-languages.c
--- old/fcitx-configtool-0.4.5.1/gtk3/gdm-languages.c   2012-10-11 
15:30:34.000000000 +0200
+++ new/fcitx-configtool-0.4.5.2/gtk3/gdm-languages.c   2013-01-12 
17:16:06.000000000 +0100
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA..
  *
  * Written by : William Jon McCann <[email protected]>
  *              Ray Strode <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcitx-configtool-0.4.5.1/gtk3/gdm-languages.h 
new/fcitx-configtool-0.4.5.2/gtk3/gdm-languages.h
--- old/fcitx-configtool-0.4.5.1/gtk3/gdm-languages.h   2012-10-11 
15:30:34.000000000 +0200
+++ new/fcitx-configtool-0.4.5.2/gtk3/gdm-languages.h   2013-01-12 
17:16:06.000000000 +0100
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
  *
  * Written by: Ray Strode
  *             William Jon McCann
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcitx-configtool-0.4.5.1/gtk3/im_config_dialog.c 
new/fcitx-configtool-0.4.5.2/gtk3/im_config_dialog.c
--- old/fcitx-configtool-0.4.5.1/gtk3/im_config_dialog.c        2012-10-11 
15:30:34.000000000 +0200
+++ new/fcitx-configtool-0.4.5.2/gtk3/im_config_dialog.c        2013-01-12 
17:16:06.000000000 +0100
@@ -38,24 +38,30 @@
                                   gint response,
                                   gpointer user_data);
 static
-void fcitx_im_config_dialog_finalize(GObject* object);
+void fcitx_im_config_dialog_dispose(GObject* object);
 
 static void
 fcitx_im_config_dialog_class_init(FcitxImConfigDialogClass *klass)
 {
     GObjectClass *gobject_class = G_OBJECT_CLASS(klass);
-    gobject_class->finalize = fcitx_im_config_dialog_finalize;
+    gobject_class->dispose = fcitx_im_config_dialog_dispose;
 }
 
-void fcitx_im_config_dialog_finalize(GObject* object)
+void fcitx_im_config_dialog_dispose(GObject* object)
 {
     FcitxImConfigDialog* self = FCITX_IM_CONFIG_DIALOG(object);
-    g_free(self->imname);
 
-    if (self->kbd)
+    if (self->imname) {
+        g_free(self->imname);
+        self->imname = NULL;
+    }
+
+    if (self->kbd) {
         g_object_unref(self->kbd);
+        self->kbd = NULL;
+    }
 
-    G_OBJECT_CLASS (fcitx_im_config_dialog_parent_class)->finalize (object);
+    G_OBJECT_CLASS (fcitx_im_config_dialog_parent_class)->dispose (object);
 }
 
 static void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcitx-configtool-0.4.5.1/gtk3/im_dialog.c 
new/fcitx-configtool-0.4.5.2/gtk3/im_dialog.c
--- old/fcitx-configtool-0.4.5.1/gtk3/im_dialog.c       2012-10-11 
15:30:34.000000000 +0200
+++ new/fcitx-configtool-0.4.5.2/gtk3/im_dialog.c       2013-01-12 
17:16:06.000000000 +0100
@@ -11,7 +11,7 @@
     IM_N_COLUMNS
 };
 
-static void fcitx_im_dialog_finalize(GObject* object);
+static void fcitx_im_dialog_dispose(GObject* object);
 static void _fcitx_im_dialog_connect(FcitxImDialog* self);
 static void _fcitx_im_dialog_load(FcitxImDialog* self);
 static void _fcitx_inputmethod_insert_foreach_cb(gpointer data, gpointer 
user_data);
@@ -37,10 +37,10 @@
 fcitx_im_dialog_class_init(FcitxImDialogClass *klass)
 {
     GObjectClass *gobject_class = G_OBJECT_CLASS(klass);
-    gobject_class->finalize = fcitx_im_dialog_finalize;
+    gobject_class->dispose = fcitx_im_dialog_dispose;
 }
 
-void fcitx_im_dialog_finalize(GObject* object)
+void fcitx_im_dialog_dispose(GObject* object)
 {
     FcitxImDialog* self = FCITX_IM_DIALOG(object);
     if (self->array) {
@@ -49,10 +49,13 @@
         self->array = NULL;
     }
 
-    if (self->improxy)
+    if (self->improxy) {
+        g_signal_handlers_disconnect_by_func(self->improxy, 
G_CALLBACK(_fcitx_im_dialog_imlist_changed_cb), self);
         g_object_unref(self->improxy);
+        self->improxy = NULL;
+    }
 
-    G_OBJECT_CLASS (fcitx_im_dialog_parent_class)->finalize (object);
+    G_OBJECT_CLASS (fcitx_im_dialog_parent_class)->dispose (object);
 }
 
 static void
@@ -299,8 +302,8 @@
                                   gint response,
                                   gpointer user_data)
 {
+    FcitxImDialog* self = FCITX_IM_DIALOG(dialog);
     if (response == GTK_RESPONSE_OK) {
-        FcitxImDialog* self = FCITX_IM_DIALOG(dialog);
         GtkTreeSelection* selection = 
gtk_tree_view_get_selection(GTK_TREE_VIEW(self->availimview));
         add_foreach_context context;
         context.self = self;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcitx-configtool-0.4.5.1/gtk3/im_widget.c 
new/fcitx-configtool-0.4.5.2/gtk3/im_widget.c
--- old/fcitx-configtool-0.4.5.1/gtk3/im_widget.c       2012-10-11 
15:30:34.000000000 +0200
+++ new/fcitx-configtool-0.4.5.2/gtk3/im_widget.c       2013-01-12 
17:16:06.000000000 +0100
@@ -50,7 +50,7 @@
     gboolean flag;
 } foreach_ct;
 
-static void fcitx_im_widget_finalize(GObject* object);
+static void fcitx_im_widget_dispose(GObject* object);
 static void _fcitx_im_widget_connect(FcitxImWidget* self);
 static void _fcitx_im_widget_load(FcitxImWidget* self);
 static void _fcitx_inputmethod_insert_foreach_cb(gpointer data, gpointer 
user_data);
@@ -61,12 +61,13 @@
 static void _fcitx_im_widget_movedown_button_clicked(GtkButton* button, 
gpointer user_data);
 static void _fcitx_im_widget_configure_button_clicked(GtkButton* button, 
gpointer user_data);
 static void _fcitx_im_widget_default_layout_button_clicked(GtkButton* button, 
gpointer user_data);
+static void _fcitx_im_widget_imlist_changed_cb(FcitxInputMethod* im, gpointer 
user_data);
 
 static void
 fcitx_im_widget_class_init(FcitxImWidgetClass *klass)
 {
     GObjectClass *gobject_class = G_OBJECT_CLASS(klass);
-    gobject_class->finalize = fcitx_im_widget_finalize;
+    gobject_class->dispose = fcitx_im_widget_dispose;
 }
 
 static void
@@ -213,7 +214,7 @@
     return GTK_WIDGET(widget);
 }
 
-void fcitx_im_widget_finalize(GObject* object)
+void fcitx_im_widget_dispose(GObject* object)
 {
     FcitxImWidget* self = FCITX_IM_WIDGET(object);
     if (self->array) {
@@ -221,10 +222,19 @@
         g_ptr_array_free(self->array, FALSE);
         self->array = NULL;
     }
-    g_object_unref(self->improxy);
-    g_free(self->focus);
 
-    G_OBJECT_CLASS (fcitx_im_widget_parent_class)->finalize (object);
+    if (self->improxy) {
+        g_signal_handlers_disconnect_by_func(self->improxy, 
G_CALLBACK(_fcitx_im_widget_imlist_changed_cb), self);
+        g_object_unref(self->improxy);
+        self->improxy = NULL;
+    }
+
+    if (self->focus) {
+        g_free(self->focus);
+        self->focus = NULL;
+    }
+
+    G_OBJECT_CLASS (fcitx_im_widget_parent_class)->dispose (object);
 }
 
 void _fcitx_im_widget_imlist_changed_cb(FcitxInputMethod* im, gpointer 
user_data)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcitx-configtool-0.4.5.1/gtk3/locarchive.h 
new/fcitx-configtool-0.4.5.2/gtk3/locarchive.h
--- old/fcitx-configtool-0.4.5.1/gtk3/locarchive.h      2012-10-11 
15:30:34.000000000 +0200
+++ new/fcitx-configtool-0.4.5.2/gtk3/locarchive.h      2013-01-12 
17:16:06.000000000 +0100
@@ -14,8 +14,9 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc.,
+   51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+   */
 
 #ifndef _LOCARCHIVE_H
 #define _LOCARCHIVE_H 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fcitx-configtool-0.4.5.1/gtk3/ui_widget.c 
new/fcitx-configtool-0.4.5.2/gtk3/ui_widget.c
--- old/fcitx-configtool-0.4.5.1/gtk3/ui_widget.c       2012-10-11 
15:30:34.000000000 +0200
+++ new/fcitx-configtool-0.4.5.2/gtk3/ui_widget.c       2013-01-12 
17:16:06.000000000 +0100
@@ -30,7 +30,7 @@
 
 G_DEFINE_TYPE(FcitxUIWidget, fcitx_ui_widget, GTK_TYPE_BOX)
 
-static void fcitx_ui_widget_finalize(GObject* object);
+static void fcitx_ui_widget_dispose(GObject* object);
 static void _fcitx_ui_widget_load(FcitxUIWidget* self, const gchar* uiname);
 static void _fcitx_ui_widget_apply_button_clicked(GtkButton* button, gpointer 
user_data);
 
@@ -38,7 +38,7 @@
 fcitx_ui_widget_class_init(FcitxUIWidgetClass *klass)
 {
     GObjectClass *gobject_class = G_OBJECT_CLASS(klass);
-    gobject_class->finalize = fcitx_ui_widget_finalize;
+    gobject_class->dispose = fcitx_ui_widget_dispose;
 }
 
 static void
@@ -59,13 +59,15 @@
     return GTK_WIDGET(widget);
 }
 
-void fcitx_ui_widget_finalize(GObject* object)
+void fcitx_ui_widget_dispose(GObject* object)
 {
     FcitxUIWidget* self = FCITX_UI_WIDGET(object);
-    if (self->improxy)
+    if (self->improxy) {
         g_object_unref(self->improxy);
+        self->improxy = NULL;
+    }
 
-    G_OBJECT_CLASS (fcitx_ui_widget_parent_class)->finalize (object);
+    G_OBJECT_CLASS (fcitx_ui_widget_parent_class)->dispose (object);
 }
 
 void fcitx_ui_widget_connect(FcitxUIWidget* self)

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to