diff --git a/gtk/inspector/general.c b/gtk/inspector/general.c index de3d9a6670..2d3e0ef001 100644 --- a/gtk/inspector/general.c +++ b/gtk/inspector/general.c @@ -31,6 +31,7 @@ #include "gtkimage.h" #include "gtkadjustment.h" #include "gtkbox.h" +#include "gtkbinlayout.h" #ifdef GDK_WINDOWING_X11 @@ -881,34 +882,13 @@ gtk_inspector_general_constructed (GObject *object) } static void -measure (GtkWidget *widget, - GtkOrientation orientation, - int for_size, - int *minimum, - int *natural, - int *minimum_baseline, - int *natural_baseline) +gtk_inspector_general_dispose (GObject *object) { - GtkInspectorGeneral *gen = GTK_INSPECTOR_GENERAL (widget); + GtkInspectorGeneral *gen = GTK_INSPECTOR_GENERAL (object); - gtk_widget_measure (gen->priv->swin, - orientation, - for_size, - minimum, natural, - minimum_baseline, natural_baseline); -} + g_clear_pointer (&gen->priv->swin, gtk_widget_unparent); -static void -size_allocate (GtkWidget *widget, - int width, - int height, - int baseline) -{ - GtkInspectorGeneral *gen = GTK_INSPECTOR_GENERAL (widget); - - gtk_widget_size_allocate (gen->priv->swin, - &(GtkAllocation) { 0, 0, width, height }, - baseline); + G_OBJECT_CLASS (gtk_inspector_general_parent_class)->dispose (object); } static void @@ -918,9 +898,7 @@ gtk_inspector_general_class_init (GtkInspectorGeneralClass *klass) GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->constructed = gtk_inspector_general_constructed; - - widget_class->measure = measure; - widget_class->size_allocate = size_allocate; + object_class->dispose = gtk_inspector_general_dispose; gtk_widget_class_set_template_from_resource (widget_class, "/org/gtk/libgtk/inspector/general.ui"); gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorGeneral, swin); @@ -951,6 +929,8 @@ gtk_inspector_general_class_init (GtkInspectorGeneralClass *klass) gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorGeneral, display_composited); gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorGeneral, display_rgba); gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorGeneral, device_box); + + gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BIN_LAYOUT); } void diff --git a/gtk/inspector/misc-info.c b/gtk/inspector/misc-info.c index c4eaa54ca8..659960d7b8 100644 --- a/gtk/inspector/misc-info.c +++ b/gtk/inspector/misc-info.c @@ -31,6 +31,7 @@ #include "gtkbutton.h" #include "gtkmenubutton.h" #include "gtkwidgetprivate.h" +#include "gtkbinlayout.h" struct _GtkInspectorMiscInfoPrivate { @@ -570,34 +571,13 @@ set_property (GObject *object, } static void -measure (GtkWidget *widget, - GtkOrientation orientation, - int for_size, - int *minimum, - int *natural, - int *minimum_baseline, - int *natural_baseline) +dispose (GObject *o) { - GtkInspectorMiscInfo *sl = GTK_INSPECTOR_MISC_INFO (widget); + GtkInspectorMiscInfo *sl = GTK_INSPECTOR_MISC_INFO (o); - gtk_widget_measure (sl->priv->swin, - orientation, - for_size, - minimum, natural, - minimum_baseline, natural_baseline); -} + g_clear_pointer (&sl->priv->swin, gtk_widget_unparent); -static void -size_allocate (GtkWidget *widget, - int width, - int height, - int baseline) -{ - GtkInspectorMiscInfo *sl = GTK_INSPECTOR_MISC_INFO (widget); - - gtk_widget_size_allocate (sl->priv->swin, - &(GtkAllocation) { 0, 0, width, height }, - baseline); + G_OBJECT_CLASS (gtk_inspector_misc_info_parent_class)->dispose (o); } static void @@ -608,11 +588,10 @@ gtk_inspector_misc_info_class_init (GtkInspectorMiscInfoClass *klass) object_class->get_property = get_property; object_class->set_property = set_property; + object_class->dispose = dispose; widget_class->map = map; widget_class->unmap = unmap; - widget_class->measure = measure; - widget_class->size_allocate = size_allocate; g_object_class_install_property (object_class, PROP_OBJECT_TREE, g_param_spec_object ("object-tree", "Object Tree", "Object tree", @@ -669,6 +648,8 @@ gtk_inspector_misc_info_class_init (GtkInspectorMiscInfoClass *klass) gtk_widget_class_bind_template_callback (widget_class, show_surface); gtk_widget_class_bind_template_callback (widget_class, show_renderer); gtk_widget_class_bind_template_callback (widget_class, show_frame_clock); + + gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BIN_LAYOUT); } // vim: set et sw=2 ts=2: diff --git a/gtk/inspector/prop-list.c b/gtk/inspector/prop-list.c index 69282bd7ce..df1450e6ef 100644 --- a/gtk/inspector/prop-list.c +++ b/gtk/inspector/prop-list.c @@ -262,11 +262,6 @@ finalize (GObject *object) cleanup_object (pl); - g_object_unref (pl->priv->names); - g_object_unref (pl->priv->types); - g_object_unref (pl->priv->values); - g_object_unref (pl->priv->origins); - G_OBJECT_CLASS (gtk_inspector_prop_list_parent_class)->finalize (object); } diff --git a/gtk/inspector/visual.c b/gtk/inspector/visual.c index 8136fc3396..46349bd595 100644 --- a/gtk/inspector/visual.c +++ b/gtk/inspector/visual.c @@ -41,6 +41,7 @@ #include "gskdebugprivate.h" #include "gskrendererprivate.h" #include "gtknative.h" +#include "gtkbinlayout.h" #include "fallback-c89.c" @@ -1081,6 +1082,16 @@ gtk_inspector_visual_constructed (GObject *object) g_signal_connect (vis->priv->misc_box, "row-activated", G_CALLBACK (row_activated), vis); } +static void +gtk_inspector_visual_dispose (GObject *object) +{ + GtkInspectorVisual *vis = GTK_INSPECTOR_VISUAL (object); + + g_clear_pointer (&vis->priv->swin, gtk_widget_unparent); + + G_OBJECT_CLASS (gtk_inspector_visual_parent_class)->dispose (object); +} + static void gtk_inspector_visual_finalize (GObject *object) { @@ -1099,37 +1110,6 @@ gtk_inspector_visual_finalize (GObject *object) G_OBJECT_CLASS (gtk_inspector_visual_parent_class)->finalize (object); } -static void -measure (GtkWidget *widget, - GtkOrientation orientation, - int for_size, - int *minimum, - int *natural, - int *minimum_baseline, - int *natural_baseline) -{ - GtkInspectorVisual *vis = GTK_INSPECTOR_VISUAL (widget); - - gtk_widget_measure (vis->priv->swin, - orientation, - for_size, - minimum, natural, - minimum_baseline, natural_baseline); -} - -static void -size_allocate (GtkWidget *widget, - int width, - int height, - int baseline) -{ - GtkInspectorVisual *vis = GTK_INSPECTOR_VISUAL (widget); - - gtk_widget_size_allocate (vis->priv->swin, - &(GtkAllocation) { 0, 0, width, height }, - baseline); -} - static void gtk_inspector_visual_class_init (GtkInspectorVisualClass *klass) { @@ -1137,11 +1117,9 @@ gtk_inspector_visual_class_init (GtkInspectorVisualClass *klass) GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->constructed = gtk_inspector_visual_constructed; + object_class->dispose = gtk_inspector_visual_dispose; object_class->finalize = gtk_inspector_visual_finalize; - widget_class->measure = measure; - widget_class->size_allocate = size_allocate; - gtk_widget_class_set_template_from_resource (widget_class, "/org/gtk/libgtk/inspector/visual.ui"); gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorVisual, swin); gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorVisual, box); @@ -1182,6 +1160,8 @@ gtk_inspector_visual_class_init (GtkInspectorVisualClass *klass) gtk_widget_class_bind_template_callback (widget_class, widget_resize_activate); gtk_widget_class_bind_template_callback (widget_class, focus_activate); gtk_widget_class_bind_template_callback (widget_class, software_gl_activate); + + gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BIN_LAYOUT); } void