summaryrefslogtreecommitdiffstats
path: root/src/widgets/styles/qgtkstyle_p.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/styles/qgtkstyle_p.cpp')
-rw-r--r--src/widgets/styles/qgtkstyle_p.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/widgets/styles/qgtkstyle_p.cpp b/src/widgets/styles/qgtkstyle_p.cpp
index ba41482ec5..782ef8d483 100644
--- a/src/widgets/styles/qgtkstyle_p.cpp
+++ b/src/widgets/styles/qgtkstyle_p.cpp
@@ -75,6 +75,7 @@
#include <QtWidgets/QToolBar>
#include <QtWidgets/QToolButton>
+#ifndef Q_OS_MAC
// X11 Includes:
// the following is necessary to work around breakage in many versions
@@ -90,6 +91,7 @@
#undef XRegisterIMInstantiateCallback
#undef XUnregisterIMInstantiateCallback
#undef XSetIMValues
+#endif
QT_BEGIN_NAMESPACE
@@ -210,7 +212,9 @@ Ptr_gconf_client_get_bool QGtkStylePrivate::gconf_client_get_bool = 0;
Ptr_gnome_icon_lookup_sync QGtkStylePrivate::gnome_icon_lookup_sync = 0;
Ptr_gnome_vfs_init QGtkStylePrivate::gnome_vfs_init = 0;
+#ifndef Q_OS_MAC
typedef int (*x11ErrorHandler)(Display*, XErrorEvent*);
+#endif
QT_END_NAMESPACE
@@ -540,10 +544,14 @@ void QGtkStylePrivate::initGtkWidgets() const
}
if (QGtkStylePrivate::gtk_init) {
+#ifndef Q_OS_MAC
// Gtk will set the Qt error handler so we have to reset it afterwards
x11ErrorHandler qt_x_errhandler = XSetErrorHandler(0);
+#endif
QGtkStylePrivate::gtk_init (NULL, NULL);
+#ifndef Q_OS_MAC
XSetErrorHandler(qt_x_errhandler);
+#endif
// make a window
GtkWidget* gtkWindow = QGtkStylePrivate::gtk_window_new(GTK_WINDOW_POPUP);
@@ -967,13 +975,14 @@ void QGtkStylePrivate::setupGtkFileChooser(GtkWidget* gtkFileChooser, QWidget *p
QWidget *modalFor = parent ? parent->window() : qApp->activeWindow();
if (modalFor) {
QGtkStylePrivate::gtk_widget_realize(gtkFileChooser); // Creates X window
+#ifndef Q_OS_MAC
XSetTransientForHint(QGtkStylePrivate::gdk_x11_drawable_get_xdisplay(gtkFileChooser->window),
QGtkStylePrivate::gdk_x11_drawable_get_xid(gtkFileChooser->window),
modalFor->winId());
#ifdef Q_WS_X11
QGtkStylePrivate::gdk_x11_window_set_user_time (gtkFileChooser->window, QX11Info::appUserTime());
#endif
-
+#endif
}
QFileInfo fileinfo(dir);