From a34bf916dd14caaf3653f10f888d05dfe6ce0c69 Mon Sep 17 00:00:00 2001 From: Sebastian Ramacher Date: Sat, 9 Dec 2023 21:27:21 +0100 Subject: [PATCH] Fix call arguments passed to gtk_event_controller_set_propagation_phase Also free zoom gesture. --- zathura/zathura.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/zathura/zathura.c b/zathura/zathura.c index 19d19df..95cf1f5 100644 --- a/zathura/zathura.c +++ b/zathura/zathura.c @@ -209,9 +209,11 @@ zathura_update_view_ppi(zathura_t* zathura) } } -static bool -init_ui(zathura_t* zathura) -{ +static void weak_ref_object_unref(void* data, GObject* UNUSED(object)) { + g_object_unref(data); +} + +static bool init_ui(zathura_t* zathura) { if (girara_session_init(zathura->ui.session, "zathura") == false) { girara_error("Failed to initialize girara."); return false; @@ -226,7 +228,8 @@ init_ui(zathura_t* zathura) GtkGesture* zoom = gtk_gesture_zoom_new(GTK_WIDGET(zathura->ui.session->gtk.view)); g_signal_connect(zoom, "scale-changed", G_CALLBACK(cb_gesture_zoom_scale_changed), zathura); g_signal_connect(zoom, "begin", G_CALLBACK(cb_gesture_zoom_begin), zathura); - gtk_event_controller_set_propagation_phase(GTK_EVENT_CONTROLLER(zathura->ui.session->gtk.view), GTK_PHASE_BUBBLE); + gtk_event_controller_set_propagation_phase(GTK_EVENT_CONTROLLER(zoom), GTK_PHASE_BUBBLE); + g_object_weak_ref(G_OBJECT(zathura->ui.session->gtk.view), weak_ref_object_unref, zoom); /* zathura signals */ zathura->signals.refresh_view = g_signal_new(