messenger-gtk

Gtk+3 graphical user interfaces for GNUnet Messenger
Log | Files | Refs | Submodules | README | LICENSE

commit 116950a5b6e91309281696aa4f7aa0857185a6d2
parent a33950ee5629586f631e63dceb984346d8702b85
Author: TheJackiMonster <thejackimonster@gmail.com>
Date:   Mon,  3 Jan 2022 21:57:31 +0100

Fixed some warnings of invalidly queued draw signals

Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>

Diffstat:
Msrc/ui/new_contact.c | 7++++++-
Msrc/ui/new_contact.h | 2++
Msrc/ui/send_file.c | 13++++++++++---
Msrc/ui/send_file.h | 2++
4 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/src/ui/new_contact.c b/src/ui/new_contact.c @@ -324,7 +324,7 @@ ui_new_contact_dialog_init(MESSENGER_Application *app, handle ); - g_signal_connect( + handle->id_draw_signal = g_signal_connect( handle->id_drawing_area, "draw", G_CALLBACK(handle_id_drawing_area_draw), @@ -377,6 +377,11 @@ ui_new_contact_dialog_cleanup(UI_NEW_CONTACT_Handle *handle) handle->idle_processing = 0; + g_signal_handler_disconnect( + handle->id_drawing_area, + handle->id_draw_signal + ); + g_object_unref(handle->builder); if (handle->image) diff --git a/src/ui/new_contact.h b/src/ui/new_contact.h @@ -47,6 +47,8 @@ typedef struct UI_NEW_CONTACT_Handle GtkDrawingArea *id_drawing_area; GtkEntry *id_entry; + gulong id_draw_signal; + GtkButton *cancel_button; GtkButton *confirm_button; diff --git a/src/ui/send_file.c b/src/ui/send_file.c @@ -94,7 +94,8 @@ handle_file_redraw_animation(gpointer user_data) handle->redraw_animation = 0; - if (handle->file_drawing_area) + if ((handle->file_drawing_area) && + ((handle->image) || (handle->animation) || (handle->animation_iter))) gtk_widget_queue_draw(GTK_WIDGET(handle->file_drawing_area)); return FALSE; @@ -224,7 +225,8 @@ handle_file_chooser_button_file_set(GtkFileChooserButton *file_chooser_button, g_free(filename); } - gtk_widget_queue_draw(GTK_WIDGET(handle->file_drawing_area)); + if (handle->file_drawing_area) + gtk_widget_queue_draw(GTK_WIDGET(handle->file_drawing_area)); } void @@ -257,7 +259,7 @@ ui_send_file_dialog_init(MESSENGER_Application *app, gtk_builder_get_object(handle->builder, "file_chooser_button") ); - g_signal_connect( + handle->file_draw_signal = g_signal_connect( handle->file_drawing_area, "draw", G_CALLBACK(handle_file_drawing_area_draw), @@ -330,5 +332,10 @@ ui_send_file_dialog_cleanup(UI_SEND_FILE_Handle *handle) { _clear_file_preview_data(handle); + g_signal_handler_disconnect( + handle->file_drawing_area, + handle->file_draw_signal + ); + g_object_unref(handle->builder); } diff --git a/src/ui/send_file.h b/src/ui/send_file.h @@ -37,6 +37,8 @@ typedef struct UI_SEND_FILE_Handle GtkDrawingArea *file_drawing_area; GtkFileChooserButton *file_chooser_button; + gulong file_draw_signal; + GtkButton *cancel_button; GtkButton *send_button;