diff --git a/src/sysprof/sysprof-section.c b/src/sysprof/sysprof-section.c index 0237262b..92dd33f5 100644 --- a/src/sysprof/sysprof-section.c +++ b/src/sysprof/sysprof-section.c @@ -216,7 +216,11 @@ sysprof_section_set_session (SysprofSection *self, g_return_if_fail (!session || SYSPROF_IS_SESSION (session)); if (g_set_object (&priv->session, session)) - g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_SESSION]); + { + if (SYSPROF_SECTION_GET_CLASS (self)->session_set) + SYSPROF_SECTION_GET_CLASS (self)->session_set (self, session); + g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_SESSION]); + } } const char * diff --git a/src/sysprof/sysprof-section.h b/src/sysprof/sysprof-section.h index c3a71228..9b9838ca 100644 --- a/src/sysprof/sysprof-section.h +++ b/src/sysprof/sysprof-section.h @@ -33,6 +33,9 @@ G_DECLARE_DERIVABLE_TYPE (SysprofSection, sysprof_section, SYSPROF, SECTION, Gtk struct _SysprofSectionClass { GtkWidgetClass parent_class; + + void (*session_set) (SysprofSection *self, + SysprofSession *session); }; SysprofSession *sysprof_section_get_session (SysprofSection *self);