summaryrefslogtreecommitdiffstats
path: root/src/ui/dialog/export.cpp
diff options
context:
space:
mode:
authorNicolas Dufour <nicoduf@yahoo.fr>2013-12-06 10:23:43 +0000
committerJazzyNico <nicoduf@yahoo.fr>2013-12-06 10:23:43 +0000
commit58b8b4854ec77628d0865dcf30afd0edd9960c66 (patch)
treea4c6cf45c3b43a83e597cd6a9aae61be71f39089 /src/ui/dialog/export.cpp
parentfix Segmentation fault while exporting to Plain SVG (Bug #1202753) (patch of ... (diff)
downloadinkscape-58b8b4854ec77628d0865dcf30afd0edd9960c66.tar.gz
inkscape-58b8b4854ec77628d0865dcf30afd0edd9960c66.zip
Fix for Bug #1257007 ([devlibs-gtk3] Crash when clicking on Export As...).
Fixed bugs: - https://launchpad.net/bugs/1257007 (bzr r12840)
Diffstat (limited to 'src/ui/dialog/export.cpp')
-rw-r--r--src/ui/dialog/export.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/ui/dialog/export.cpp b/src/ui/dialog/export.cpp
index 8ea1a09fa..2cfdacb3d 100644
--- a/src/ui/dialog/export.cpp
+++ b/src/ui/dialog/export.cpp
@@ -1343,7 +1343,15 @@ void Export::onBrowse ()
wcsncpy(_filename, reinterpret_cast<wchar_t*>(utf16_path_string), _MAX_PATH);
g_free(utf16_path_string);
- opf.hwndOwner = (HWND)(GDK_WINDOW_HWND(gtk_widget_get_window(GTK_WIDGET(this))));
+ SPDesktop *desktop = SP_ACTIVE_DESKTOP;
+ Glib::RefPtr<const Gdk::Window> parentWindow = desktop->getToplevel()->get_window();
+ g_assert(parentWindow->gobj() != NULL);
+
+#if WITH_GTKMM_3_0
+ opf.hwndOwner = (HWND)gdk_win32_window_get_handle((GdkWindow*)parentWindow->gobj());
+#else
+ opf.hwndOwner = (HWND)gdk_win32_drawable_get_handle((GdkDrawable*)parentWindow->gobj());
+#endif
opf.lpstrFilter = filter_string;
opf.lpstrCustomFilter = 0;
opf.nMaxCustFilter = 0L;