Hello community, here is the log from the commit of package jamin for openSUSE:Factory checked in at 2017-06-26 15:54:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/jamin (Old) and /work/SRC/openSUSE:Factory/.jamin.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "jamin" Mon Jun 26 15:54:06 2017 rev:22 rq:505913 version:0.95.0 Changes: -------- --- /work/SRC/openSUSE:Factory/jamin/jamin.changes 2012-09-26 10:00:49.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.jamin.new/jamin.changes 2017-06-26 15:54:14.846873820 +0200 @@ -1,0 +2,6 @@ +Fri Jun 23 16:44:22 CEST 2017 - ti...@suse.de + +- Fix segfault with the recent gtk update (bsc#1044765): + jamin-gtk-type-fix.patch + +------------------------------------------------------------------- New: ---- jamin-gtk-type-fix.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ jamin.spec ++++++ --- /var/tmp/diff_new_pack.kv9FDS/_old 2017-06-26 15:54:16.086698990 +0200 +++ /var/tmp/diff_new_pack.kv9FDS/_new 2017-06-26 15:54:16.094697861 +0200 @@ -1,7 +1,7 @@ # # spec file for package jamin # -# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -40,6 +40,7 @@ Source: %{name}-%{version}.tar.bz2 Patch1: jamin-ladspa-path-fix.diff Patch2: jamin-link-to-dl.patch +Patch3: jamin-gtk-type-fix.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: shared-mime-info @@ -53,6 +54,7 @@ %setup -q %patch1 -p1 %patch2 -p1 +%patch3 -p1 %build intltoolize -f ++++++ jamin-gtk-type-fix.patch ++++++ --- src/gtkmeter.c | 32 +++----------------------------- src/gtkmeter.h | 2 +- src/gtkmeterscale.c | 33 +++------------------------------ src/gtkmeterscale.h | 2 +- 4 files changed, 8 insertions(+), 61 deletions(-) --- a/src/gtkmeter.c +++ b/src/gtkmeter.c @@ -54,31 +54,7 @@ static int meter_count = 0; /* Local data */ -static GtkWidgetClass *parent_class = NULL; - -guint -gtk_meter_get_type () -{ - static guint meter_type = 0; - - if (!meter_type) - { - GtkTypeInfo meter_info = - { - "GtkMeter", - sizeof (GtkMeter), - sizeof (GtkMeterClass), - (GtkClassInitFunc) gtk_meter_class_init, - (GtkObjectInitFunc) gtk_meter_init, - /*(GtkArgSetFunc)*/ NULL, - /*(GtkArgGetFunc)*/ NULL, - }; - - meter_type = gtk_type_unique (gtk_widget_get_type (), &meter_info); - } - - return meter_type; -} +G_DEFINE_TYPE (GtkMeter, gtk_meter, GTK_TYPE_WIDGET); static void gtk_meter_class_init (GtkMeterClass *class) @@ -89,8 +65,6 @@ gtk_meter_class_init (GtkMeterClass *cla object_class = (GtkObjectClass*) class; widget_class = (GtkWidgetClass*) class; - parent_class = gtk_type_class (gtk_widget_get_type ()); - object_class->destroy = gtk_meter_destroy; widget_class->realize = gtk_meter_realize; @@ -145,8 +119,8 @@ gtk_meter_destroy (GtkObject *object) if (meter->adjustment) gtk_object_unref (GTK_OBJECT (meter->adjustment)); - if (GTK_OBJECT_CLASS (parent_class)->destroy) - (* GTK_OBJECT_CLASS (parent_class)->destroy) (object); + if (GTK_OBJECT_CLASS (gtk_meter_parent_class)->destroy) + (* GTK_OBJECT_CLASS (gtk_meter_parent_class)->destroy) (object); } GtkAdjustment* --- a/src/gtkmeterscale.c +++ b/src/gtkmeterscale.c @@ -43,32 +43,7 @@ static void meterscale_draw_notch(GtkMet /* Local data */ -static GtkWidgetClass *parent_class = NULL; - -guint -gtk_meterscale_get_type () -{ - static guint meterscale_type = 0; - - if (!meterscale_type) - { - GtkTypeInfo meterscale_info = - { - "GtkMeterScale", - sizeof (GtkMeterScale), - sizeof (GtkMeterScaleClass), - (GtkClassInitFunc) gtk_meterscale_class_init, - (GtkObjectInitFunc) gtk_meterscale_init, - /*(GtkArgSetFunc)*/ NULL, - /*(GtkArgGetFunc)*/ NULL, - }; - - meterscale_type = gtk_type_unique (gtk_widget_get_type (), - &meterscale_info); - } - - return meterscale_type; -} +G_DEFINE_TYPE (GtkMeterScale, gtk_meterscale, GTK_TYPE_WIDGET); static void gtk_meterscale_class_init (GtkMeterScaleClass *class) @@ -79,8 +54,6 @@ gtk_meterscale_class_init (GtkMeterScale object_class = (GtkObjectClass*) class; widget_class = (GtkWidgetClass*) class; - parent_class = gtk_type_class (gtk_widget_get_type ()); - object_class->destroy = gtk_meterscale_destroy; widget_class->realize = gtk_meterscale_realize; @@ -127,8 +100,8 @@ gtk_meterscale_destroy (GtkObject *objec meterscale = GTK_METERSCALE (object); - if (GTK_OBJECT_CLASS (parent_class)->destroy) - (* GTK_OBJECT_CLASS (parent_class)->destroy) (object); + if (GTK_OBJECT_CLASS (gtk_meterscale_parent_class)->destroy) + (* GTK_OBJECT_CLASS (gtk_meterscale_parent_class)->destroy) (object); } static void --- a/src/gtkmeter.h +++ b/src/gtkmeter.h @@ -87,7 +87,7 @@ struct _GtkMeterClass GtkWidget* gtk_meter_new (GtkAdjustment *adjustment, gint direction); -guint gtk_meter_get_type (void); +GtkType gtk_meter_get_type (void); GtkAdjustment* gtk_meter_get_adjustment (GtkMeter *meter); void gtk_meter_set_adjustment (GtkMeter *meter, --- a/src/gtkmeterscale.h +++ b/src/gtkmeterscale.h @@ -67,7 +67,7 @@ GtkWidget* gtk_meterscale_new gfloat min, gfloat max); -guint gtk_meterscale_get_type (void); +GtkType gtk_meterscale_get_type (void); #ifdef __cplusplus }