diff --git a/src/adw-back-button.c b/src/adw-back-button.c index 69eb9716dafde4409e34288ae4dd8166a5104760..47da4d841a34a5ef83c2e8c383cc5d36436dbb3b 100644 --- a/src/adw-back-button.c +++ b/src/adw-back-button.c @@ -454,7 +454,6 @@ adw_back_button_root (GtkWidget *widget) GTK_WIDGET_CLASS (adw_back_button_parent_class)->root (widget); - page = adw_widget_get_ancestor_same_native (widget, ADW_TYPE_NAVIGATION_PAGE); while (page) { @@ -496,6 +495,8 @@ adw_back_button_unroot (GtkWidget *widget) g_signal_handlers_disconnect_by_func (data->view, pushed_cb, data); g_signal_handlers_disconnect_by_func (data->view, update_page, self); g_signal_handlers_disconnect_by_func (data->page, update_page, self); + + g_free (data); } g_clear_pointer (&self->navigation_views, g_slist_free); diff --git a/src/adw-preferences-window.c b/src/adw-preferences-window.c index a400de721116875d0dff14c486af29dd65661016..7d73088e15d297865cba173ecf0d829c6e5704d4 100644 --- a/src/adw-preferences-window.c +++ b/src/adw-preferences-window.c @@ -368,7 +368,7 @@ update_view_switcher (AdwPreferencesWindow *self) { AdwPreferencesWindowPrivate *priv = adw_preferences_window_get_instance_private (self); AdwBreakpoint *breakpoint; - AdwBreakpointCondition *main_condition, *fallback_condition; + AdwBreakpointCondition *main_condition, *fallback_condition, *condition; main_condition = adw_breakpoint_condition_new_length (ADW_BREAKPOINT_CONDITION_MAX_WIDTH, @@ -379,9 +379,9 @@ update_view_switcher (AdwPreferencesWindow *self) VIEW_SWITCHER_FALLBACK_THRESHOLD, ADW_LENGTH_UNIT_PX); - adw_breakpoint_set_condition (priv->breakpoint, - adw_breakpoint_condition_new_or (main_condition, - fallback_condition)); + condition = adw_breakpoint_condition_new_or (main_condition, fallback_condition); + + adw_breakpoint_set_condition (priv->breakpoint, condition); breakpoint = adw_breakpoint_bin_get_current_breakpoint (ADW_BREAKPOINT_BIN (priv->breakpoint_bin)); @@ -389,6 +389,8 @@ update_view_switcher (AdwPreferencesWindow *self) gtk_stack_set_visible_child (GTK_STACK (priv->view_switcher_stack), priv->view_switcher); else gtk_stack_set_visible_child (GTK_STACK (priv->view_switcher_stack), priv->title); + + adw_breakpoint_condition_free (condition); } static void