diff options
Diffstat (limited to 'xorg-server/hw/xwin')
-rw-r--r-- | xorg-server/hw/xwin/InitInput.c | 6 | ||||
-rw-r--r-- | xorg-server/hw/xwin/makefile | 1 | ||||
-rw-r--r-- | xorg-server/hw/xwin/wincursor.c | 14 | ||||
-rw-r--r-- | xorg-server/hw/xwin/winkeybd.c | 16 | ||||
-rw-r--r-- | xorg-server/hw/xwin/xlaunch/window/util.cc | 2 | ||||
-rw-r--r-- | xorg-server/hw/xwin/xlaunch/window/util.h | 2 |
6 files changed, 27 insertions, 14 deletions
diff --git a/xorg-server/hw/xwin/InitInput.c b/xorg-server/hw/xwin/InitInput.c index bce7ac54e..65572ccd8 100644 --- a/xorg-server/hw/xwin/InitInput.c +++ b/xorg-server/hw/xwin/InitInput.c @@ -95,7 +95,7 @@ ProcessInputEvents (void) #endif mieqProcessInputEvents (); - miPointerUpdate (); + miPointerUpdateSprite(inputInfo.pointer); #if 0 ErrorF ("ProcessInputEvents - returning\n"); @@ -144,8 +144,8 @@ InitInput (int argc, char *argv[]) } #endif - pMouse = AddInputDevice (winMouseProc, TRUE); - pKeyboard = AddInputDevice (winKeybdProc, TRUE); + pMouse = AddInputDevice (serverClient, winMouseProc, TRUE); + pKeyboard = AddInputDevice (serverClient, winKeybdProc, TRUE); RegisterPointerDevice (pMouse); RegisterKeyboardDevice (pKeyboard); diff --git a/xorg-server/hw/xwin/makefile b/xorg-server/hw/xwin/makefile index 5b409759d..7fc052457 100644 --- a/xorg-server/hw/xwin/makefile +++ b/xorg-server/hw/xwin/makefile @@ -85,7 +85,6 @@ SRCS_NATIVEGDI = \ winnativegdi.c \ winpixmap.c \ winpolyline.c \ - winpushpxl.c \ winrop.c \ winsetsp.c CSRCS += $(SRCS_NATIVEGDI) diff --git a/xorg-server/hw/xwin/wincursor.c b/xorg-server/hw/xwin/wincursor.c index 8ace15fcd..75a1adf5b 100644 --- a/xorg-server/hw/xwin/wincursor.c +++ b/xorg-server/hw/xwin/wincursor.c @@ -62,7 +62,7 @@ extern Bool g_fSoftwareCursor; */ static void -winPointerWarpCursor (ScreenPtr pScreen, int x, int y); +winPointerWarpCursor (DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y); static Bool winCursorOffScreen (ScreenPtr *ppScreen, int *x, int *y); @@ -79,7 +79,7 @@ miPointerScreenFuncRec g_winPointerCursorFuncs = static void -winPointerWarpCursor (ScreenPtr pScreen, int x, int y) +winPointerWarpCursor (DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y) { winScreenPriv(pScreen); RECT rcClient; @@ -127,7 +127,7 @@ winPointerWarpCursor (ScreenPtr pScreen, int x, int y) } /* Call the mi warp procedure to do the actual warping in X. */ - miPointerWarpCursor (pScreen, x, y); + miPointerWarpCursor (pDev, pScreen, x, y); } static Bool @@ -444,7 +444,7 @@ winLoadCursor (ScreenPtr pScreen, CursorPtr pCursor, int screen) * Convert the X cursor representation to native format if possible. */ static Bool -winRealizeCursor (ScreenPtr pScreen, CursorPtr pCursor) +winRealizeCursor (DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor) { if(pCursor == NULL || pCursor->bits == NULL) return FALSE; @@ -460,7 +460,7 @@ winRealizeCursor (ScreenPtr pScreen, CursorPtr pCursor) * Free the storage space associated with a realized cursor. */ static Bool -winUnrealizeCursor(ScreenPtr pScreen, CursorPtr pCursor) +winUnrealizeCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor) { return TRUE; } @@ -471,7 +471,7 @@ winUnrealizeCursor(ScreenPtr pScreen, CursorPtr pCursor) * Set the cursor sprite and position. */ static void -winSetCursor (ScreenPtr pScreen, CursorPtr pCursor, int x, int y) +winSetCursor (DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor, int x, int y) { POINT ptCurPos, ptTemp; HWND hwnd; @@ -549,7 +549,7 @@ winSetCursor (ScreenPtr pScreen, CursorPtr pCursor, int x, int y) * Move the cursor. This is a noop for us. */ static void -winMoveCursor (ScreenPtr pScreen, int x, int y) +winMoveCursor (DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y) { } diff --git a/xorg-server/hw/xwin/winkeybd.c b/xorg-server/hw/xwin/winkeybd.c index 1cd3e4cb3..5ac558d98 100644 --- a/xorg-server/hw/xwin/winkeybd.c +++ b/xorg-server/hw/xwin/winkeybd.c @@ -308,12 +308,24 @@ winKeybdProc (DeviceIntPtr pDeviceInt, int iState) #endif break; - case DEVICE_ON: + case DEVICE_ON: + { + DeviceIntPtr master; pDevice->on = TRUE; // immediately copy the state of this keyboard device to the VCK // (which otherwise happens lazily after the first keypress) - SwitchCoreKeyboard(pDeviceInt); + master = (!pDeviceInt->isMaster && pDeviceInt->u.master) ? pDeviceInt->u.master : NULL; + if (master) + { + /* Force a copy of the key class into the VCK so that the layout + is transferred. */ + if (!master->key) + master = GetPairedDevice(master); + CopyKeyClass(pDeviceInt, master); + } + } + break; case DEVICE_CLOSE: diff --git a/xorg-server/hw/xwin/xlaunch/window/util.cc b/xorg-server/hw/xwin/xlaunch/window/util.cc index fb7e87297..6f768348e 100644 --- a/xorg-server/hw/xwin/xlaunch/window/util.cc +++ b/xorg-server/hw/xwin/xlaunch/window/util.cc @@ -25,6 +25,8 @@ */ #include "util.h" +const char * MessageDebug::notify_names[NOTIFY_NAMES_LEN]; + std::string win32_error::message(DWORD errorcode) { LPVOID lpMsgBuf; diff --git a/xorg-server/hw/xwin/xlaunch/window/util.h b/xorg-server/hw/xwin/xlaunch/window/util.h index 2e8dab263..a1196b115 100644 --- a/xorg-server/hw/xwin/xlaunch/window/util.h +++ b/xorg-server/hw/xwin/xlaunch/window/util.h @@ -39,7 +39,7 @@ class win32_error : public std::runtime_error }; #define MESSAGE_NAMES_LEN 1024 -#define NOTIFY_NAMES_LEN 0 +#define NOTIFY_NAMES_LEN 1 class MessageDebug { protected: |