Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 311585 Details for
Bug 410599
net-misc/tigervnc 1.1.0-r3 crashes xorg in vnc.so
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
new xorg111.patch from fedora
tigervnc11-xorg111.patch (text/plain), 6.22 KB, created by
Pavel Riha
on 2012-05-13 06:51:01 UTC
(
hide
)
Description:
new xorg111.patch from fedora
Filename:
MIME Type:
Creator:
Pavel Riha
Created:
2012-05-13 06:51:01 UTC
Size:
6.22 KB
patch
obsolete
>diff -up tigervnc-1.1.0/unix/xserver/hw/vnc/Input.cc.xorg111 tigervnc-1.1.0/unix/xserver/hw/vnc/Input.cc >--- tigervnc-1.1.0/unix/xserver/hw/vnc/Input.cc.xorg111 2011-08-09 23:16:36.000000000 +0200 >+++ tigervnc-1.1.0/unix/xserver/hw/vnc/Input.cc 2011-11-11 11:59:14.226819903 +0100 >@@ -82,10 +82,11 @@ static KeyCode KeysymToKeycode(KeySymsPt > /* Event queue is shared between all devices. */ > #if XORG == 15 > static xEvent *eventq = NULL; >-#else >+#elif XORG < 111 > static EventList *eventq = NULL; > #endif > >+#if XORG < 111 > static void initEventq(void) > { > /* eventq is never free()-ed because it exists during server life. */ >@@ -100,7 +101,9 @@ static void initEventq(void) > #endif > } > } >+#endif /* XORG < 111 */ > >+#if XORG < 111 > static void enqueueEvents(DeviceIntPtr dev, int n) > { > int i; >@@ -122,6 +125,7 @@ static void enqueueEvents(DeviceIntPtr d > ); > } > } >+#endif /* XORG < 111 */ > > InputDevice::InputDevice(rfb::VNCServerST *_server) > : server(_server), oldButtonMask(0) >@@ -141,12 +145,17 @@ InputDevice::InputDevice(rfb::VNCServerS > keyboardProc, TRUE); > RegisterKeyboardDevice(keyboardDev); > #endif >+#if XORG < 111 > initEventq(); >+#endif > } > > void InputDevice::PointerButtonAction(int buttonMask) > { >- int i, n; >+ int i; >+#if XORG < 111 >+ int n; >+#endif > #if XORG >= 110 > ValuatorMask mask; > #endif >@@ -160,13 +169,17 @@ void InputDevice::PointerButtonAction(in > #if XORG < 110 > n = GetPointerEvents(eventq, pointerDev, action, i + 1, > POINTER_RELATIVE, 0, 0, NULL); >-#else >+ enqueueEvents(pointerDev, n); >+#elif XORG < 111 > valuator_mask_set_range(&mask, 0, 0, NULL); > n = GetPointerEvents(eventq, pointerDev, action, i + 1, > POINTER_RELATIVE, &mask); >-#endif > enqueueEvents(pointerDev, n); >- >+#else >+ valuator_mask_set_range(&mask, 0, 0, NULL); >+ QueuePointerEvents(pointerDev, action, i + 1, >+ POINTER_RELATIVE, &mask); >+#endif > } > } > >@@ -175,7 +188,10 @@ void InputDevice::PointerButtonAction(in > > void InputDevice::PointerMove(const rfb::Point &pos) > { >- int n, valuators[2]; >+ int valuators[2]; >+#if XORG < 111 >+ int n; >+#endif > #if XORG >= 110 > ValuatorMask mask; > #endif >@@ -190,12 +206,16 @@ void InputDevice::PointerMove(const rfb: > #if XORG < 110 > n = GetPointerEvents(eventq, pointerDev, MotionNotify, 0, POINTER_ABSOLUTE, 0, > 2, valuators); >-#else >+ enqueueEvents(pointerDev, n); >+#elif XORG < 111 > valuator_mask_set_range(&mask, 0, 2, valuators); > n = GetPointerEvents(eventq, pointerDev, MotionNotify, 0, POINTER_ABSOLUTE, > &mask); >-#endif > enqueueEvents(pointerDev, n); >+#else >+ valuator_mask_set_range(&mask, 0, 2, valuators); >+ QueuePointerEvents(pointerDev, MotionNotify, 0, POINTER_ABSOLUTE, &mask); >+#endif > > cursorPos = pos; > } >@@ -299,14 +319,20 @@ void InputDevice::initInputDevice(void) > static inline void pressKey(DeviceIntPtr dev, int kc, bool down, const char *msg) > { > int action; >+#if XORG < 111 > unsigned int n; >+#endif > > if (msg != NULL) > vlog.debug("%s %d %s", msg, kc, down ? "down" : "up"); > > action = down ? KeyPress : KeyRelease; >- n = GetKeyboardEvents(eventq, dev, action, kc); >+#if XORG < 111 >+ n = GetKeyboardEvents(eventq, dev, action, kc, NULL); > enqueueEvents(dev, n); >+#else >+ QueueKeyboardEvents(dev, action, kc, NULL); >+#endif > } > > #define IS_PRESSED(keyc, keycode) \ >@@ -341,8 +367,11 @@ public: > int state, maxKeysPerMod, keycode; > #if XORG >= 17 > KeyCode *modmap = NULL; >- >+#if XORG >= 111 >+ state = XkbStateFieldFromRec(&dev->master->key->xkbInfo->state); >+#else /* XORG >= 111 */ > state = XkbStateFieldFromRec(&dev->u.master->key->xkbInfo->state); >+#endif /* XORG >= 111 */ > #else > KeyClassPtr keyc = dev->key; > state = keyc->state; >@@ -380,7 +409,11 @@ public: > #if XORG >= 17 > KeyCode *modmap = NULL; > >+#if XORG >= 111 >+ keyc = dev->master->key; >+#else /* XORG >= 111 */ > keyc = dev->u.master->key; >+#endif /* XORG >= 111 */ > state = XkbStateFieldFromRec(&keyc->xkbInfo->state); > #else > keyc = dev->key; >@@ -596,7 +629,11 @@ void InputDevice::keyEvent(rdr::U32 keys > } > > #if XORG >= 17 >+#if XORG >= 111 >+ keyc = keyboardDev->master->key; >+#else /* XORG >= 111 */ > keyc = keyboardDev->u.master->key; >+#endif /* XORG >= 111 */ > > keymap = XkbGetCoreMap(keyboardDev); > if (!keymap) { >@@ -753,7 +790,11 @@ ModeSwitchFound: > XkbApplyMappingChange(keyboardDev, keymap, minKeyCode, > maxKeyCode - minKeyCode + 1, > NULL, serverClient); >+#if XORG >= 111 >+ XkbCopyDeviceKeymap(keyboardDev->master, keyboardDev); >+#else > XkbCopyDeviceKeymap(keyboardDev->u.master, keyboardDev); >+#endif > #endif /* XORG < 17 */ > break; > } >diff -up tigervnc-1.1.0/unix/xserver/hw/vnc/xorg-version.h.xorg111 tigervnc-1.1.0/unix/xserver/hw/vnc/xorg-version.h >--- tigervnc-1.1.0/unix/xserver/hw/vnc/xorg-version.h.xorg111 2011-08-09 23:16:36.000000000 +0200 >+++ tigervnc-1.1.0/unix/xserver/hw/vnc/xorg-version.h 2011-11-11 11:55:32.255835319 +0100 >@@ -36,6 +36,8 @@ > #define XORG 19 > #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (10 * 100000) + (99 * 1000)) > #define XORG 110 >+#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (11 * 100000) + (99 * 1000)) >+#define XORG 111 > #else > #error "X.Org newer than 1.10 is not supported" > #endif >diff -up tigervnc-1.1.0/unix/xserver/hw/vnc/xvnc.cc.xorg111 tigervnc-1.1.0/unix/xserver/hw/vnc/xvnc.cc >--- tigervnc-1.1.0/unix/xserver/hw/vnc/xvnc.cc.xorg111 2011-08-09 23:16:36.000000000 +0200 >+++ tigervnc-1.1.0/unix/xserver/hw/vnc/xvnc.cc 2011-11-11 11:55:32.256835319 +0100 >@@ -211,7 +211,11 @@ static void vfbFreeFramebufferMemory(vfb > > extern "C" { > >+#if XORG < 111 > void ddxGiveUp() >+#else >+void ddxGiveUp(enum ExitCode error) >+#endif > { > int i; > >@@ -221,9 +225,17 @@ void ddxGiveUp() > } > > void >+#if XORG < 111 > AbortDDX() >+#else >+AbortDDX(enum ExitCode error) >+#endif > { >+#if XORG < 111 > ddxGiveUp(); >+#else >+ ddxGiveUp(error); >+#endif > } > > #ifdef __DARWIN__ >@@ -668,8 +680,13 @@ vfbUninstallColormap(ColormapPtr pmap) > { > if (pmap->mid != pmap->pScreen->defColormap) > { >+#if XORG < 111 > curpmap = (ColormapPtr) LookupIDByType(pmap->pScreen->defColormap, > RT_COLORMAP); >+#else >+ dixLookupResourceByType((pointer *) &curpmap, pmap->pScreen->defColormap, >+ RT_COLORMAP, serverClient, DixUnknownAccess); >+#endif > (*pmap->pScreen->InstallColormap)(curpmap); > } > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 410599
: 311585