summaryrefslogtreecommitdiff
path: root/libreofficekit
diff options
context:
space:
mode:
authorPranav Kant <pranavk@collabora.co.uk>2017-11-29 17:47:10 +0530
committerAndras Timar <andras.timar@collabora.com>2018-03-19 14:55:59 +0100
commit6bd477aed78bd5d6fd191daf26c526a89c4b8e70 (patch)
treea72ea5d6720b42c933fc5649d0a35b41ade7a38b /libreofficekit
parente842a38f4bb3bc88f1ebdf9a4f6550b80edbe89b (diff)
lokdialog: Allow closing a dialog from LOK client
... and rename paintDialog -> paintWindow before it's too late. We not only render dialogs now but also popups. Change-Id: I6b1253c4d9be0c79199b683df4413658a461f850 (cherry picked from commit 2f2679a56c0ae5dbcab6a0e6aa523587ecdc84fe)
Diffstat (limited to 'libreofficekit')
-rw-r--r--libreofficekit/qa/gtktiledviewer/gtv-application-window.cxx6
-rw-r--r--libreofficekit/qa/gtktiledviewer/gtv-lok-dialog.cxx2
2 files changed, 7 insertions, 1 deletions
diff --git a/libreofficekit/qa/gtktiledviewer/gtv-application-window.cxx b/libreofficekit/qa/gtktiledviewer/gtv-application-window.cxx
index 118be6c0100d..e5b67d18c57c 100644
--- a/libreofficekit/qa/gtktiledviewer/gtv-application-window.cxx
+++ b/libreofficekit/qa/gtktiledviewer/gtv-application-window.cxx
@@ -412,7 +412,13 @@ gtv_application_window_unregister_child_window(GtvApplicationWindow* window, Gtk
{
GtvApplicationWindowPrivate* priv = getPrivate(window);
if (pChildWin)
+ {
priv->m_pChildWindows = g_list_remove(priv->m_pChildWindows, pChildWin);
+ LibreOfficeKitDocument* pDocument = lok_doc_view_get_document(LOK_DOC_VIEW(window->lokdocview));
+ guint dialogId = 0;
+ g_object_get(G_OBJECT(pChildWin), "dialogid", &dialogId, nullptr);
+ pDocument->pClass->postWindow(pDocument, dialogId, LOK_WINDOW_CLOSE);
+ }
}
GtkWindow*
diff --git a/libreofficekit/qa/gtktiledviewer/gtv-lok-dialog.cxx b/libreofficekit/qa/gtktiledviewer/gtv-lok-dialog.cxx
index 9cad1e8fb117..bb206acb109e 100644
--- a/libreofficekit/qa/gtktiledviewer/gtv-lok-dialog.cxx
+++ b/libreofficekit/qa/gtktiledviewer/gtv-lok-dialog.cxx
@@ -106,7 +106,7 @@ gtv_lok_dialog_draw(GtkWidget* pDialogDrawingArea, cairo_t* pCairo, gpointer)
cairo_surface_t* pSurface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, nWidth, nHeight);
unsigned char* pBuffer = cairo_image_surface_get_data(pSurface);
LibreOfficeKitDocument* pDocument = lok_doc_view_get_document(LOK_DOC_VIEW(priv->lokdocview));
- pDocument->pClass->paintDialog(pDocument, priv->dialogid, pBuffer, aRect.x, aRect.y, nWidth, nHeight);
+ pDocument->pClass->paintWindow(pDocument, priv->dialogid, pBuffer, aRect.x, aRect.y, nWidth, nHeight);
gtk_widget_set_size_request(GTK_WIDGET(pDialogDrawingArea), priv->m_nWidth, priv->m_nHeight);