From ddac37b94f03a906c541350e9e8e225fa808dabd Mon Sep 17 00:00:00 2001 From: Pranav Kant Date: Fri, 28 Jul 2017 23:45:25 +0530 Subject: lokdialog: Queue a redraw on invalidation in gtktiledviewer Change-Id: I081508674a71c3beb89175e4f8ac3256e6bc6c6a --- libreofficekit/qa/gtktiledviewer/gtv-signal-handlers.cxx | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'libreofficekit/qa/gtktiledviewer/gtv-signal-handlers.cxx') diff --git a/libreofficekit/qa/gtktiledviewer/gtv-signal-handlers.cxx b/libreofficekit/qa/gtktiledviewer/gtv-signal-handlers.cxx index e009fe215ce7..b871d93667f9 100644 --- a/libreofficekit/qa/gtktiledviewer/gtv-signal-handlers.cxx +++ b/libreofficekit/qa/gtktiledviewer/gtv-signal-handlers.cxx @@ -290,11 +290,21 @@ void changePartMode( GtkWidget* pSelector, gpointer /* pItem */ ) } } +static gboolean deleteLokDialog(GtkWidget* pWidget, GdkEvent* /*event*/, gpointer userdata) +{ + GtvApplicationWindow* window = GTV_APPLICATION_WINDOW(userdata); + gtv_application_window_unregister_child_window(window, GTK_WINDOW(pWidget)); + + return FALSE; +} + void openLokDialog( GtkWidget* pSelector, gpointer /*pItem*/ ) { GtvApplicationWindow* window = GTV_APPLICATION_WINDOW(gtk_widget_get_toplevel(pSelector)); gchar* pDialogId = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(pSelector)); GtkWidget* pDialog = gtv_lok_dialog_new(LOK_DOC_VIEW(window->lokdocview), pDialogId); + gtv_application_window_register_child_window(window, GTK_WINDOW(pDialog)); + g_signal_connect(pDialog, "delete-event", G_CALLBACK(deleteLokDialog), window); g_free(pDialogId); gtk_window_set_resizable(GTK_WINDOW(pDialog), false); -- cgit