diff options
author | Pranav Kant <pranavk@collabora.co.uk> | 2017-07-28 23:45:25 +0530 |
---|---|---|
committer | Pranav Kant <pranavk@collabora.co.uk> | 2017-10-02 10:57:41 +0530 |
commit | ddac37b94f03a906c541350e9e8e225fa808dabd (patch) | |
tree | b62483c43a68402fe769bb63c2e412c192ff939c /libreofficekit/qa/gtktiledviewer/gtv-signal-handlers.cxx | |
parent | 686ac83f4028cc0bc96d23780654f45db2a9a347 (diff) |
lokdialog: Queue a redraw on invalidation in gtktiledviewer
Change-Id: I081508674a71c3beb89175e4f8ac3256e6bc6c6a
Diffstat (limited to 'libreofficekit/qa/gtktiledviewer/gtv-signal-handlers.cxx')
-rw-r--r-- | libreofficekit/qa/gtktiledviewer/gtv-signal-handlers.cxx | 10 |
1 files changed, 10 insertions, 0 deletions
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); |