projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge "master" into "psppsheet" to obtain bug fixes from "master".
[pspp]
/
src
/
ui
/
gui
/
psppire-cell-renderer-button.c
diff --git
a/src/ui/gui/psppire-cell-renderer-button.c
b/src/ui/gui/psppire-cell-renderer-button.c
index 8bf90a24c68d19997bc8d29bc9900f5420fb8db3..ac90984a3d233c35823a86dfde80f2d6e92481d4 100644
(file)
--- a/
src/ui/gui/psppire-cell-renderer-button.c
+++ b/
src/ui/gui/psppire-cell-renderer-button.c
@@
-30,7
+30,7
@@
#include "gettext.h"
#define _(msgid) gettext (msgid)
#include "gettext.h"
#define _(msgid) gettext (msgid)
-static void psppire_cell_renderer_button_d
estroy (Gtk
Object *);
+static void psppire_cell_renderer_button_d
ispose (G
Object *);
static void psppire_cell_renderer_button_finalize (GObject *);
static void update_style_cache (PsppireCellRendererButton *button,
static void psppire_cell_renderer_button_finalize (GObject *);
static void update_style_cache (PsppireCellRendererButton *button,
@@
-134,13
+134,6
@@
on_style_set (GtkWidget *base,
update_style_cache (button, NULL);
}
update_style_cache (button, NULL);
}
-static void
-on_destroy (GtkObject *base,
- PsppireCellRendererButton *button)
-{
- update_style_cache (button, NULL);
-}
-
static void
update_style_cache (PsppireCellRendererButton *button,
GtkWidget *widget)
static void
update_style_cache (PsppireCellRendererButton *button,
GtkWidget *widget)
@@
-167,11
+160,6
@@
update_style_cache (PsppireCellRendererButton *button,
button->style_set_handler);
button->style_set_handler = 0;
}
button->style_set_handler);
button->style_set_handler = 0;
}
- if (button->destroy_handler)
- {
- g_signal_handler_disconnect (button->base, button->destroy_handler);
- button->destroy_handler = 0;
- }
g_object_unref (button->base);
button->base = NULL;
}
g_object_unref (button->base);
button->base = NULL;
}
@@
-186,10
+174,6
@@
update_style_cache (PsppireCellRendererButton *button,
button->style_set_handler = g_signal_connect (widget, "style-set",
G_CALLBACK (on_style_set),
button);
button->style_set_handler = g_signal_connect (widget, "style-set",
G_CALLBACK (on_style_set),
button);
- button->destroy_handler = g_signal_connect (widget, "destroy",
- G_CALLBACK (on_destroy),
- button);
-
g_object_ref (widget);
g_object_ref (button->button_style);
g_object_ref (button->label_style);
g_object_ref (widget);
g_object_ref (button->button_style);
g_object_ref (button->label_style);
@@
-476,14
+460,12
@@
static void
psppire_cell_renderer_button_class_init (PsppireCellRendererButtonClass *class)
{
GObjectClass *gobject_class = G_OBJECT_CLASS (class);
psppire_cell_renderer_button_class_init (PsppireCellRendererButtonClass *class)
{
GObjectClass *gobject_class = G_OBJECT_CLASS (class);
- GtkObjectClass *gtk_object_class = GTK_OBJECT_CLASS (class);
GtkCellRendererClass *cell_class = GTK_CELL_RENDERER_CLASS (class);
gobject_class->set_property = psppire_cell_renderer_button_set_property;
gobject_class->get_property = psppire_cell_renderer_button_get_property;
gobject_class->finalize = psppire_cell_renderer_button_finalize;
GtkCellRendererClass *cell_class = GTK_CELL_RENDERER_CLASS (class);
gobject_class->set_property = psppire_cell_renderer_button_set_property;
gobject_class->get_property = psppire_cell_renderer_button_get_property;
gobject_class->finalize = psppire_cell_renderer_button_finalize;
-
- gtk_object_class->destroy = psppire_cell_renderer_button_destroy;
+ gobject_class->dispose = psppire_cell_renderer_button_dispose;
cell_class->get_size = psppire_cell_renderer_button_get_size;
cell_class->render = psppire_cell_renderer_button_render;
cell_class->get_size = psppire_cell_renderer_button_get_size;
cell_class->render = psppire_cell_renderer_button_render;
@@
-550,7
+532,7
@@
psppire_cell_renderer_button_init (PsppireCellRendererButton *obj)
obj->label_style = NULL;
obj->base = NULL;
obj->style_set_handler = 0;
obj->label_style = NULL;
obj->base = NULL;
obj->style_set_handler = 0;
- obj->d
estroy_handler = 0
;
+ obj->d
ispose_has_run = FALSE
;
}
static void
}
static void
@@
-562,13
+544,20
@@
psppire_cell_renderer_button_finalize (GObject *obj)
}
static void
}
static void
-psppire_cell_renderer_button_d
estroy (Gtk
Object *obj)
+psppire_cell_renderer_button_d
ispose (G
Object *obj)
{
PsppireCellRendererButton *button = PSPPIRE_CELL_RENDERER_BUTTON (obj);
{
PsppireCellRendererButton *button = PSPPIRE_CELL_RENDERER_BUTTON (obj);
+ if (button->dispose_has_run)
+ return;
+
+ button->dispose_has_run = TRUE;
+
+ /* When called with NULL, as we are doing here, update_style_cache
+ does nothing more than to drop references */
update_style_cache (button, NULL);
update_style_cache (button, NULL);
- G
TK_OBJECT_CLASS (psppire_cell_renderer_button_parent_class)->destroy
(obj);
+ G
_OBJECT_CLASS (psppire_cell_renderer_button_parent_class)->dispose
(obj);
}
GtkCellRenderer *
}
GtkCellRenderer *