summaryrefslogtreecommitdiffstats
path: root/qtinterface/tqpaintdevice.cpp
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-08-12 20:39:47 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-08-12 20:39:47 +0000
commit4e7d7fc5e8a1a64520d965463ddfbb59cde2cfcf (patch)
treea05d6051a589e61b46cc0c3d2b2c5802c8e6b755 /qtinterface/tqpaintdevice.cpp
parent08af9dd21911161841d86bea0f862cd8dc4263bf (diff)
downloadtqtinterface-4e7d7fc5e8a1a64520d965463ddfbb59cde2cfcf.tar.gz
tqtinterface-4e7d7fc5e8a1a64520d965463ddfbb59cde2cfcf.zip
Qt3 still isn't 100% fixed...
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/dependencies/tqtinterface@1162841 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'qtinterface/tqpaintdevice.cpp')
-rw-r--r--qtinterface/tqpaintdevice.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/qtinterface/tqpaintdevice.cpp b/qtinterface/tqpaintdevice.cpp
index 20f41cc..d97a3d4 100644
--- a/qtinterface/tqpaintdevice.cpp
+++ b/qtinterface/tqpaintdevice.cpp
@@ -24,6 +24,24 @@ Boston, MA 02110-1301, USA.
#ifdef USE_QT4
+// the following is necessary to work around breakage in many versions
+// of XFree86's Xlib.h still in use
+// ### which versions?
+#if defined(_XLIB_H_) // crude hack, but...
+#error "cannot include <X11/Xlib.h> before this file"
+#endif
+#define XRegisterIMInstantiateCallback qt_XRegisterIMInstantiateCallback
+#define XUnregisterIMInstantiateCallback qt_XUnregisterIMInstantiateCallback
+#define XSetIMValues qt_XSetIMValues
+#include <X11/Xlib.h>
+#undef XRegisterIMInstantiateCallback
+#undef XUnregisterIMInstantiateCallback
+#undef XSetIMValues
+
+#include <X11/Xutil.h>
+#include <X11/Xos.h>
+#include <X11/Xatom.h>
+
/*!
Returns the window system handle of the paint device for XRender
support. Use of this function is not portable. This function will
@@ -46,6 +64,7 @@ static GC* app_gc_tmp_m = 0; // temporary GC (monochrome)
static GC create_gc( int scrn, bool monochrome )
{
GC gc;
+ Display *appDpy = QX11Info::display();
if ( monochrome ) {
Pixmap pm = XCreatePixmap( appDpy, RootWindow( appDpy, scrn ), 8, 8, 1 );
gc = XCreateGC( appDpy, pm, 0, 0 );