From 71795eea8a5be562d18bc77f5c9d3f09f7a15344 Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Tue, 14 Aug 2001 14:54:22 +0000 Subject: [PATCH] ARGH, die CVS, die die die --- app/widgets/gimpdialogfactory.c | 52 ++++++++++++++++++------------- app/widgets/gimpdialogfactory.h | 2 +- app/widgets/gimplayerlistview.h | 1 + app/widgets/gimplayertreeview.h | 1 + tools/pdbgen/app.pl | 11 +++++++ tools/pdbgen/pdb/brush_select.pdb | 3 +- tools/pdbgen/pdb/edit.pdb | 4 ++- 7 files changed, 50 insertions(+), 24 deletions(-) diff --git a/app/widgets/gimpdialogfactory.c b/app/widgets/gimpdialogfactory.c index c9ff66da08..da4272cb1a 100644 --- a/app/widgets/gimpdialogfactory.c +++ b/app/widgets/gimpdialogfactory.c @@ -57,7 +57,7 @@ typedef enum static void gimp_dialog_factory_class_init (GimpDialogFactoryClass *klass); static void gimp_dialog_factory_init (GimpDialogFactory *factory); -static void gimp_dialog_factory_destroy (GtkObject *object); +static void gimp_dialog_factory_finalize (GObject *object); static void gimp_dialog_factories_save_foreach (gchar *name, GimpDialogFactory *factory, @@ -90,26 +90,29 @@ static void gimp_dialog_factories_unidle_foreach (gchar *name, static GimpObjectClass *parent_class = NULL; -GtkType +GType gimp_dialog_factory_get_type (void) { - static guint factory_type = 0; + static GType factory_type = 0; if (! factory_type) { - GtkTypeInfo factory_info = + static const GTypeInfo factory_info = { - "GimpDialogFactory", - sizeof (GimpDialogFactory), - sizeof (GimpDialogFactoryClass), - (GtkClassInitFunc) gimp_dialog_factory_class_init, - (GtkObjectInitFunc) gimp_dialog_factory_init, - /* reserved_1 */ NULL, - /* reserved_2 */ NULL, - (GtkClassInitFunc) NULL + sizeof (GimpDialogFactoryClass), + NULL, /* base_init */ + NULL, /* base_finalize */ + (GClassInitFunc) gimp_dialog_factory_class_init, + NULL, /* class_finalize */ + NULL, /* class_data */ + sizeof (GimpDialogFactory), + 0, /* n_preallocs */ + (GInstanceInitFunc) gimp_dialog_factory_init, }; - factory_type = gtk_type_unique (GIMP_TYPE_OBJECT, &factory_info); + factory_type = g_type_register_static (GIMP_TYPE_OBJECT, + "GimpDialogFactory", + &factory_info, 0); } return factory_type; @@ -118,13 +121,13 @@ gimp_dialog_factory_get_type (void) static void gimp_dialog_factory_class_init (GimpDialogFactoryClass *klass) { - GtkObjectClass *object_class; + GObjectClass *object_class; - object_class = (GtkObjectClass *) klass; + object_class = G_OBJECT_CLASS (klass); parent_class = g_type_class_peek_parent (klass); - object_class->destroy = gimp_dialog_factory_destroy; + object_class->finalize = gimp_dialog_factory_finalize; klass->factories = g_hash_table_new (g_str_hash, g_str_equal); } @@ -140,7 +143,7 @@ gimp_dialog_factory_init (GimpDialogFactory *factory) } static void -gimp_dialog_factory_destroy (GtkObject *object) +gimp_dialog_factory_finalize (GObject *object) { GimpDialogFactory *factory; GList *list; @@ -160,11 +163,18 @@ gimp_dialog_factory_destroy (GtkObject *object) g_free (entry); } - g_list_free (factory->registered_dialogs); - g_list_free (factory->open_dialogs); + if (factory->registered_dialogs) + { + g_list_free (factory->registered_dialogs); + factory->registered_dialogs = NULL; + } + if (factory->open_dialogs) + { + g_list_free (factory->open_dialogs); + factory->open_dialogs = NULL; + } - if (GTK_OBJECT_CLASS (parent_class)->destroy) - GTK_OBJECT_CLASS (parent_class)->destroy (object); + G_OBJECT_CLASS (parent_class)->finalize (object); } GimpDialogFactory * diff --git a/app/widgets/gimpdialogfactory.h b/app/widgets/gimpdialogfactory.h index c0192fada2..50b19d15ab 100644 --- a/app/widgets/gimpdialogfactory.h +++ b/app/widgets/gimpdialogfactory.h @@ -101,7 +101,7 @@ struct _GimpDialogFactoryClass }; -GtkType gimp_dialog_factory_get_type (void); +GType gimp_dialog_factory_get_type (void); GimpDialogFactory * gimp_dialog_factory_new (const gchar *name, GimpContext *context, diff --git a/app/widgets/gimplayerlistview.h b/app/widgets/gimplayerlistview.h index 5bc025147a..19f93be136 100644 --- a/app/widgets/gimplayerlistview.h +++ b/app/widgets/gimplayerlistview.h @@ -31,6 +31,7 @@ #define GIMP_LAYER_LIST_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_LAYER_LIST_VIEW, GimpLayerListViewClass)) #define GIMP_IS_LAYER_LIST_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_LAYER_LIST_VIEW)) #define GIMP_IS_LAYER_LIST_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_LAYER_LIST_VIEW)) +#define GIMP_LAYER_LIST_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GIMP_TYPE_LAYER_LIST_VIEW, GimpLayerListViewClass)) typedef struct _GimpLayerListViewClass GimpLayerListViewClass; diff --git a/app/widgets/gimplayertreeview.h b/app/widgets/gimplayertreeview.h index 5bc025147a..19f93be136 100644 --- a/app/widgets/gimplayertreeview.h +++ b/app/widgets/gimplayertreeview.h @@ -31,6 +31,7 @@ #define GIMP_LAYER_LIST_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_LAYER_LIST_VIEW, GimpLayerListViewClass)) #define GIMP_IS_LAYER_LIST_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_LAYER_LIST_VIEW)) #define GIMP_IS_LAYER_LIST_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_LAYER_LIST_VIEW)) +#define GIMP_LAYER_LIST_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GIMP_TYPE_LAYER_LIST_VIEW, GimpLayerListViewClass)) typedef struct _GimpLayerListViewClass GimpLayerListViewClass; diff --git a/tools/pdbgen/app.pl b/tools/pdbgen/app.pl index fa12c6fcb0..795eec02e4 100644 --- a/tools/pdbgen/app.pl +++ b/tools/pdbgen/app.pl @@ -677,6 +677,7 @@ GPL foreach $group (@main::groups) { my $out = $out{$group}; my $tool_eek = 0; + my $widgets_eek = 0; foreach (@{$main::grp{$group}->{headers}}) { $out->{headers}->{$_}++ } delete $out->{headers}->{q/"procedural_db.h"/}; @@ -687,6 +688,11 @@ GPL delete $out->{headers}->{q|"tools/tools-types.h"|}; } + if (exists $out->{headers}->{q|"widgets/widgets-types.h"|}) { + $widgets_eek = 1; + delete $out->{headers}->{q|"widgets/widgets-types.h"|}; + } + my @headers = sort { my ($x, $y) = ($a, $b); foreach ($x, $y) { @@ -725,6 +731,11 @@ GPL $headers .= "\n"; } + if ($widgets_eek == 1) { + $headers .= '#include "widgets/widgets-types.h"'; + $headers .= "\n"; + } + $headers .= '#include "procedural_db.h"'; $headers .= "\n"; $headers .= "\n"; diff --git a/tools/pdbgen/pdb/brush_select.pdb b/tools/pdbgen/pdb/brush_select.pdb index b47627a3ee..949d1bf31f 100644 --- a/tools/pdbgen/pdb/brush_select.pdb +++ b/tools/pdbgen/pdb/brush_select.pdb @@ -126,7 +126,8 @@ sub brushes_set_popup { %invoke = ( headers => [ qw("core/gimpbrush.h" "core/gimplist.h" - "widgets/gimpbrushfactoryview.h") ], + "widgets/widgets-types.h" + "widgets/gimpbrushfactoryview.h") ], vars => [ 'ProcRecord *prec', 'BrushSelect *bsp' ], code => <<'CODE' { diff --git a/tools/pdbgen/pdb/edit.pdb b/tools/pdbgen/pdb/edit.pdb index 038ec26f69..84b4ae3475 100644 --- a/tools/pdbgen/pdb/edit.pdb +++ b/tools/pdbgen/pdb/edit.pdb @@ -160,10 +160,12 @@ HELP &std_pdb_misc; &inargs('stroke to'); - &invoke('gimage_mask_stroke (gimage, drawable)'); + &invoke('gimage_mask_stroke (gimage, drawable, gimp_get_current_context (gimage->gimp))'); push @{$invoke{headers}}, qw("core/gimpimage-mask.h"); } +@headers = qw("core/gimpimage.h"); + @procs = qw(edit_cut edit_copy edit_paste edit_clear edit_fill edit_stroke); %exports = (app => [@procs], lib => [@procs]);