Merge remote-tracking branch 'jturney/master'
This commit is contained in:
commit
47ff382d1f
|
@ -27,6 +27,7 @@ SUBDIRS = \
|
|||
Xext \
|
||||
miext \
|
||||
os \
|
||||
pseudoramiX \
|
||||
randr \
|
||||
render \
|
||||
Xi \
|
||||
|
@ -77,6 +78,7 @@ DIST_SUBDIRS = \
|
|||
Xext \
|
||||
miext \
|
||||
os \
|
||||
pseudoramiX \
|
||||
randr \
|
||||
render \
|
||||
Xi \
|
||||
|
|
|
@ -2256,6 +2256,7 @@ miext/damage/Makefile
|
|||
miext/shadow/Makefile
|
||||
miext/rootless/Makefile
|
||||
os/Makefile
|
||||
pseudoramiX/Makefile
|
||||
randr/Makefile
|
||||
render/Makefile
|
||||
xkb/Makefile
|
||||
|
|
|
@ -28,7 +28,6 @@ libXquartz_la_SOURCES = \
|
|||
darwinEvents.c \
|
||||
darwinXinput.c \
|
||||
keysym2ucs.c \
|
||||
pseudoramiX.c \
|
||||
quartz.c \
|
||||
quartzCocoa.m \
|
||||
quartzKeyboard.c \
|
||||
|
@ -36,6 +35,8 @@ libXquartz_la_SOURCES = \
|
|||
quartzRandR.c \
|
||||
console_redirect.c
|
||||
|
||||
libXquartz_la_LIBADD = $(top_builddir)/pseudoramiX/libPseudoramiX.la
|
||||
|
||||
EXTRA_DIST = \
|
||||
X11Application.h \
|
||||
X11Controller.h \
|
||||
|
@ -44,7 +45,6 @@ EXTRA_DIST = \
|
|||
darwinfb.h \
|
||||
darwinEvents.h \
|
||||
keysym2ucs.h \
|
||||
pseudoramiX.h \
|
||||
quartz.h \
|
||||
quartzCommon.h \
|
||||
quartzKeyboard.h \
|
||||
|
|
|
@ -39,7 +39,6 @@
|
|||
|
||||
#ifdef XWIN_CLIPBOARD
|
||||
int winProcEstablishConnection(ClientPtr /* client */ );
|
||||
int winProcQueryTree(ClientPtr /* client */ );
|
||||
int winProcSetSelectionOwner(ClientPtr /* client */ );
|
||||
#endif
|
||||
|
||||
|
|
|
@ -48,7 +48,11 @@ from The Open Group.
|
|||
#include "xkbsrv.h"
|
||||
#endif
|
||||
#ifdef RELOCATE_PROJECTROOT
|
||||
#pragma push_macro("Status")
|
||||
#undef Status
|
||||
#define Status wStatus
|
||||
#include <shlobj.h>
|
||||
#pragma pop_macro("Status")
|
||||
typedef WINAPI HRESULT(*SHGETFOLDERPATHPROC) (HWND hwndOwner,
|
||||
int nFolder,
|
||||
HANDLE hToken,
|
||||
|
|
|
@ -153,6 +153,7 @@ XWin_SOURCES = $(SRCS)
|
|||
AM_CPPFLAGS = -I$(top_srcdir)/miext/rootless
|
||||
|
||||
XWIN_SYS_LIBS += -ldxguid
|
||||
XWIN_LIBS += $(top_builddir)/pseudoramiX/libPseudoramiX.la
|
||||
|
||||
XWin_DEPENDENCIES = $(MULTIWINDOWEXTWM_LIBS) $(XWIN_GLX_LIBS) $(XWIN_LIBS) $(XSERVER_LIBS)
|
||||
XWin_LDADD = $(MULTIWINDOW_LIBS) $(MULTIWINDOWEXTWM_LIBS) $(XWIN_GLX_LIBS) $(XWIN_GLX_LINK_FLAGS) $(XWIN_LIBS) $(MAIN_LIB) $(XSERVER_LIBS) $(XSERVER_SYS_LIBS) $(XWIN_SYS_LIBS)
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
|
||||
/* Includes for authorization */
|
||||
#include "securitysrv.h"
|
||||
#include "os/osdep.h"
|
||||
|
||||
/*
|
||||
* Constants
|
||||
|
@ -56,8 +57,7 @@ static char *g_pAuthData = NULL;
|
|||
*/
|
||||
|
||||
#ifndef XCSECURITY
|
||||
static
|
||||
void
|
||||
void
|
||||
GenerateRandomData(int len, char *buf)
|
||||
{
|
||||
int fd;
|
||||
|
@ -70,9 +70,8 @@ GenerateRandomData(int len, char *buf)
|
|||
static char cookie[16]; /* 128 bits */
|
||||
|
||||
XID
|
||||
static
|
||||
MitGenerateCookie(unsigned data_length,
|
||||
char *data,
|
||||
const char *data,
|
||||
XID id, unsigned *data_length_return, char **data_return)
|
||||
{
|
||||
int i = 0;
|
||||
|
|
|
@ -106,9 +106,6 @@ void
|
|||
|
||||
void *winClipboardProc(void *);
|
||||
|
||||
void
|
||||
winDeinitClipboard(void);
|
||||
|
||||
/*
|
||||
* winclipboardwndproc.c
|
||||
*/
|
||||
|
|
|
@ -48,21 +48,10 @@
|
|||
* References to external symbols
|
||||
*/
|
||||
|
||||
extern Bool g_fUseUnicode;
|
||||
extern void *g_pClipboardDisplay;
|
||||
extern Window g_iClipboardWindow;
|
||||
extern Atom g_atomLastOwnedSelection;
|
||||
|
||||
/*
|
||||
* Local function prototypes
|
||||
*/
|
||||
|
||||
static int
|
||||
|
||||
|
||||
winProcessXEventsTimeout(HWND hwnd, int iWindow, Display * pDisplay,
|
||||
Bool fUseUnicode, int iTimeoutSec);
|
||||
|
||||
/*
|
||||
* Process X events up to specified timeout
|
||||
*/
|
||||
|
|
|
@ -56,8 +56,6 @@ DISPATCH_PROC(winProcSetSelectionOwner);
|
|||
* References to external symbols
|
||||
*/
|
||||
|
||||
extern unsigned int g_uiAuthDataLen;
|
||||
extern char *g_pAuthData;
|
||||
extern Bool g_fClipboardLaunched;
|
||||
extern Bool g_fClipboardStarted;
|
||||
extern Bool g_fClipboard;
|
||||
|
|
|
@ -162,7 +162,7 @@ winLoadCursor(ScreenPtr pScreen, CursorPtr pCursor, int screen)
|
|||
HDC hDC;
|
||||
BITMAPV4HEADER bi;
|
||||
BITMAPINFO *pbmi;
|
||||
unsigned long *lpBits;
|
||||
uint32_t *lpBits;
|
||||
|
||||
WIN_DEBUG_MSG("winLoadCursor: Win32: %dx%d X11: %dx%d hotspot: %d,%d\n",
|
||||
pScreenPriv->cursor.sm_cx, pScreenPriv->cursor.sm_cy,
|
||||
|
@ -256,15 +256,14 @@ winLoadCursor(ScreenPtr pScreen, CursorPtr pCursor, int screen)
|
|||
bi.bV4AlphaMask = 0xFF000000;
|
||||
|
||||
lpBits =
|
||||
(unsigned long *) calloc(pScreenPriv->cursor.sm_cx *
|
||||
(uint32_t *) calloc(pScreenPriv->cursor.sm_cx *
|
||||
pScreenPriv->cursor.sm_cy,
|
||||
sizeof(unsigned long));
|
||||
sizeof(uint32_t));
|
||||
|
||||
if (lpBits) {
|
||||
int y;
|
||||
for (y = 0; y < nCY; y++) {
|
||||
unsigned long *src, *dst;
|
||||
|
||||
void *src, *dst;
|
||||
src = &(pCursor->bits->argb[y * pCursor->bits->width]);
|
||||
dst = &(lpBits[y * pScreenPriv->cursor.sm_cx]);
|
||||
memcpy(dst, src, 4 * nCX);
|
||||
|
@ -273,9 +272,12 @@ winLoadCursor(ScreenPtr pScreen, CursorPtr pCursor, int screen)
|
|||
} /* End if-truecolor-icon */
|
||||
|
||||
if (!lpBits) {
|
||||
RGBQUAD *pbmiColors;
|
||||
/* Bicolor, use a palettized DIB */
|
||||
WIN_DEBUG_MSG("winLoadCursor: Trying two color cursor\n");
|
||||
pbmi = (BITMAPINFO *) &bi;
|
||||
pbmiColors = &(pbmi->bmiColors[0]);
|
||||
|
||||
memset(pbmi, 0, sizeof(BITMAPINFOHEADER));
|
||||
pbmi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
|
||||
pbmi->bmiHeader.biWidth = pScreenPriv->cursor.sm_cx;
|
||||
|
@ -286,21 +288,22 @@ winLoadCursor(ScreenPtr pScreen, CursorPtr pCursor, int screen)
|
|||
pbmi->bmiHeader.biSizeImage = 0;
|
||||
pbmi->bmiHeader.biClrUsed = 3;
|
||||
pbmi->bmiHeader.biClrImportant = 3;
|
||||
pbmi->bmiColors[0].rgbRed = 0; /* Empty */
|
||||
pbmi->bmiColors[0].rgbGreen = 0;
|
||||
pbmi->bmiColors[0].rgbBlue = 0;
|
||||
pbmi->bmiColors[0].rgbReserved = 0;
|
||||
pbmi->bmiColors[1].rgbRed = pCursor->backRed >> 8; /* Background */
|
||||
pbmi->bmiColors[1].rgbGreen = pCursor->backGreen >> 8;
|
||||
pbmi->bmiColors[1].rgbBlue = pCursor->backBlue >> 8;
|
||||
pbmi->bmiColors[1].rgbReserved = 0;
|
||||
pbmi->bmiColors[2].rgbRed = pCursor->foreRed >> 8; /* Foreground */
|
||||
pbmi->bmiColors[2].rgbGreen = pCursor->foreGreen >> 8;
|
||||
pbmi->bmiColors[2].rgbBlue = pCursor->foreBlue >> 8;
|
||||
pbmi->bmiColors[2].rgbReserved = 0;
|
||||
|
||||
pbmiColors[0].rgbRed = 0; /* Empty */
|
||||
pbmiColors[0].rgbGreen = 0;
|
||||
pbmiColors[0].rgbBlue = 0;
|
||||
pbmiColors[0].rgbReserved = 0;
|
||||
pbmiColors[1].rgbRed = pCursor->backRed >> 8; /* Background */
|
||||
pbmiColors[1].rgbGreen = pCursor->backGreen >> 8;
|
||||
pbmiColors[1].rgbBlue = pCursor->backBlue >> 8;
|
||||
pbmiColors[1].rgbReserved = 0;
|
||||
pbmiColors[2].rgbRed = pCursor->foreRed >> 8; /* Foreground */
|
||||
pbmiColors[2].rgbGreen = pCursor->foreGreen >> 8;
|
||||
pbmiColors[2].rgbBlue = pCursor->foreBlue >> 8;
|
||||
pbmiColors[2].rgbReserved = 0;
|
||||
|
||||
lpBits =
|
||||
(unsigned long *) calloc(pScreenPriv->cursor.sm_cx *
|
||||
(uint32_t *) calloc(pScreenPriv->cursor.sm_cx *
|
||||
pScreenPriv->cursor.sm_cy, sizeof(char));
|
||||
|
||||
pCur = (unsigned char *) lpBits;
|
||||
|
|
|
@ -85,7 +85,6 @@ pthread_mutex_t g_pmTerminating = PTHREAD_MUTEX_INITIALIZER;
|
|||
* Wrapped DIX functions
|
||||
*/
|
||||
winDispatchProcPtr winProcEstablishConnectionOrig = NULL;
|
||||
winDispatchProcPtr winProcQueryTreeOrig = NULL;
|
||||
winDispatchProcPtr winProcSetSelectionOwnerOrig = NULL;
|
||||
|
||||
/*
|
||||
|
|
|
@ -30,6 +30,8 @@
|
|||
#include <xwin-config.h>
|
||||
#endif
|
||||
|
||||
#include <pthread.h>
|
||||
|
||||
/*
|
||||
* References to external symbols
|
||||
*/
|
||||
|
@ -69,7 +71,6 @@ typedef int (*winDispatchProcPtr) (ClientPtr);
|
|||
* Wrapped DIX functions
|
||||
*/
|
||||
extern winDispatchProcPtr winProcEstablishConnectionOrig;
|
||||
extern winDispatchProcPtr winProcQueryTreeOrig;
|
||||
extern winDispatchProcPtr winProcSetSelectionOwnerOrig;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -488,7 +488,7 @@ getHwnd(WMInfoPtr pWMInfo, Window iWindow)
|
|||
iWindow,
|
||||
pWMInfo->atmPrivMap,
|
||||
0,
|
||||
1,
|
||||
sizeof(HWND)/4,
|
||||
False,
|
||||
XA_INTEGER,
|
||||
&atmType,
|
||||
|
@ -747,10 +747,10 @@ winMultiWindowWMProc(void *pArg)
|
|||
ErrorF("\tWM_WM_MAP\n");
|
||||
#endif
|
||||
/* Put a note as to the HWND associated with this Window */
|
||||
XChangeProperty(pWMInfo->pDisplay, pNode->msg.iWindow, pWMInfo->atmPrivMap, XA_INTEGER, //pWMInfo->atmPrivMap,
|
||||
XChangeProperty(pWMInfo->pDisplay, pNode->msg.iWindow, pWMInfo->atmPrivMap, XA_INTEGER,
|
||||
32,
|
||||
PropModeReplace,
|
||||
(unsigned char *) &(pNode->msg.hwndWindow), 1);
|
||||
(unsigned char *) &(pNode->msg.hwndWindow), sizeof(HWND)/4);
|
||||
UpdateName(pWMInfo, pNode->msg.iWindow);
|
||||
UpdateIcon(pWMInfo, pNode->msg.iWindow);
|
||||
break;
|
||||
|
@ -759,10 +759,10 @@ winMultiWindowWMProc(void *pArg)
|
|||
#if CYGMULTIWINDOW_DEBUG
|
||||
ErrorF("\tWM_WM_MAP2\n");
|
||||
#endif
|
||||
XChangeProperty(pWMInfo->pDisplay, pNode->msg.iWindow, pWMInfo->atmPrivMap, XA_INTEGER, //pWMInfo->atmPrivMap,
|
||||
XChangeProperty(pWMInfo->pDisplay, pNode->msg.iWindow, pWMInfo->atmPrivMap, XA_INTEGER,
|
||||
32,
|
||||
PropModeReplace,
|
||||
(unsigned char *) &(pNode->msg.hwndWindow), 1);
|
||||
(unsigned char *) &(pNode->msg.hwndWindow), sizeof(HWND)/4);
|
||||
break;
|
||||
|
||||
case WM_WM_MAP3:
|
||||
|
@ -770,10 +770,10 @@ winMultiWindowWMProc(void *pArg)
|
|||
ErrorF("\tWM_WM_MAP3\n");
|
||||
#endif
|
||||
/* Put a note as to the HWND associated with this Window */
|
||||
XChangeProperty(pWMInfo->pDisplay, pNode->msg.iWindow, pWMInfo->atmPrivMap, XA_INTEGER, //pWMInfo->atmPrivMap,
|
||||
XChangeProperty(pWMInfo->pDisplay, pNode->msg.iWindow, pWMInfo->atmPrivMap, XA_INTEGER,
|
||||
32,
|
||||
PropModeReplace,
|
||||
(unsigned char *) &(pNode->msg.hwndWindow), 1);
|
||||
(unsigned char *) &(pNode->msg.hwndWindow), sizeof(HWND)/4);
|
||||
UpdateName(pWMInfo, pNode->msg.iWindow);
|
||||
UpdateIcon(pWMInfo, pNode->msg.iWindow);
|
||||
UpdateStyle(pWMInfo, pNode->msg.iWindow);
|
||||
|
@ -1061,15 +1061,13 @@ winMultiWindowXMsgProc(void *pArg)
|
|||
(pProcArg->pDisplay, pProcArg->dwScreen, TRUE)) {
|
||||
if (!g_fAnotherWMRunning) {
|
||||
g_fAnotherWMRunning = TRUE;
|
||||
SendMessage(*(HWND *) pProcArg->hwndScreen, WM_UNMANAGE, 0,
|
||||
0);
|
||||
SendMessage(pProcArg->hwndScreen, WM_UNMANAGE, 0, 0);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (g_fAnotherWMRunning) {
|
||||
g_fAnotherWMRunning = FALSE;
|
||||
SendMessage(*(HWND *) pProcArg->hwndScreen, WM_MANAGE, 0,
|
||||
0);
|
||||
SendMessage(pProcArg->hwndScreen, WM_MANAGE, 0, 0);
|
||||
}
|
||||
}
|
||||
Sleep(500);
|
||||
|
|
|
@ -420,14 +420,14 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
|
|||
/*
|
||||
* Add whatever the setup file wants to for this window
|
||||
*/
|
||||
SetupSysMenu((unsigned long) hwnd);
|
||||
SetupSysMenu(hwnd);
|
||||
return 0;
|
||||
|
||||
case WM_SYSCOMMAND:
|
||||
/*
|
||||
* Any window menu items go through here
|
||||
*/
|
||||
if (HandleCustomWM_COMMAND((unsigned long) hwnd, LOWORD(wParam))) {
|
||||
if (HandleCustomWM_COMMAND(hwnd, LOWORD(wParam))) {
|
||||
/* Don't pass customized menus to DefWindowProc */
|
||||
return 0;
|
||||
}
|
||||
|
@ -443,7 +443,7 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
|
|||
|
||||
case WM_INITMENU:
|
||||
/* Checks/Unchecks any menu items before they are displayed */
|
||||
HandleCustomWM_INITMENU((unsigned long) hwnd, wParam);
|
||||
HandleCustomWM_INITMENU(hwnd, (HMENU)wParam);
|
||||
break;
|
||||
|
||||
case WM_ERASEBKGND:
|
||||
|
@ -825,7 +825,7 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
|
|||
}
|
||||
/* Prevent the mouse wheel from stalling when another window is minimized */
|
||||
if (HIWORD(wParam) == 0 && LOWORD(wParam) == WA_ACTIVE &&
|
||||
(HWND) lParam != NULL && (HWND) lParam != (HWND) GetParent(hwnd))
|
||||
(HWND) lParam != NULL && (HWND) lParam != GetParent(hwnd))
|
||||
SetFocus(hwnd);
|
||||
return 0;
|
||||
|
||||
|
|
|
@ -188,7 +188,7 @@ ReloadEnumWindowsProc(HWND hwnd, LPARAM lParam)
|
|||
}
|
||||
|
||||
/* Update the system menu for this window */
|
||||
SetupSysMenu((unsigned long) hwnd);
|
||||
SetupSysMenu(hwnd);
|
||||
|
||||
/* That was easy... */
|
||||
}
|
||||
|
@ -275,15 +275,11 @@ ReloadPrefs(void)
|
|||
* Check/uncheck the ALWAYSONTOP items in this menu
|
||||
*/
|
||||
void
|
||||
HandleCustomWM_INITMENU(unsigned long hwndIn, unsigned long hmenuIn)
|
||||
HandleCustomWM_INITMENU(HWND hwnd, HMENU hmenu)
|
||||
{
|
||||
HWND hwnd;
|
||||
HMENU hmenu;
|
||||
DWORD dwExStyle;
|
||||
int i, j;
|
||||
|
||||
hwnd = (HWND) hwndIn;
|
||||
hmenu = (HMENU) hmenuIn;
|
||||
if (!hwnd || !hmenu)
|
||||
return;
|
||||
|
||||
|
@ -305,15 +301,12 @@ HandleCustomWM_INITMENU(unsigned long hwndIn, unsigned long hmenuIn)
|
|||
* Return TRUE if command is proccessed, FALSE otherwise.
|
||||
*/
|
||||
Bool
|
||||
HandleCustomWM_COMMAND(unsigned long hwndIn, int command)
|
||||
HandleCustomWM_COMMAND(HWND hwnd, int command)
|
||||
{
|
||||
HWND hwnd;
|
||||
int i, j;
|
||||
MENUPARSED *m;
|
||||
DWORD dwExStyle;
|
||||
|
||||
hwnd = (HWND) hwndIn;
|
||||
|
||||
if (!command)
|
||||
return FALSE;
|
||||
|
||||
|
@ -412,15 +405,13 @@ HandleCustomWM_COMMAND(unsigned long hwndIn, int command)
|
|||
* Add the default or a custom menu depending on the class match
|
||||
*/
|
||||
void
|
||||
SetupSysMenu(unsigned long hwndIn)
|
||||
SetupSysMenu(HWND hwnd)
|
||||
{
|
||||
HWND hwnd;
|
||||
HMENU sys;
|
||||
int i;
|
||||
WindowPtr pWin;
|
||||
char *res_name, *res_class;
|
||||
|
||||
hwnd = (HWND) hwndIn;
|
||||
if (!hwnd)
|
||||
return;
|
||||
|
||||
|
@ -465,11 +456,8 @@ SetupSysMenu(unsigned long hwndIn)
|
|||
* Possibly add a menu to the toolbar icon
|
||||
*/
|
||||
void
|
||||
SetupRootMenu(unsigned long hmenuRoot)
|
||||
SetupRootMenu(HMENU root)
|
||||
{
|
||||
HMENU root;
|
||||
|
||||
root = (HMENU) hmenuRoot;
|
||||
if (!root)
|
||||
return;
|
||||
|
||||
|
|
|
@ -150,16 +150,16 @@ void
|
|||
LoadPreferences(void);
|
||||
|
||||
void
|
||||
SetupRootMenu(unsigned long hmenuRoot);
|
||||
SetupRootMenu(HMENU root);
|
||||
|
||||
void
|
||||
SetupSysMenu(unsigned long hwndIn);
|
||||
SetupSysMenu(HWND hwnd);
|
||||
|
||||
void
|
||||
HandleCustomWM_INITMENU(unsigned long hwndIn, unsigned long hmenuIn);
|
||||
HandleCustomWM_INITMENU(HWND hwnd, HMENU hmenu);
|
||||
|
||||
Bool
|
||||
HandleCustomWM_COMMAND(unsigned long hwndIn, int command);
|
||||
HandleCustomWM_COMMAND(HWND hwnd, int command);
|
||||
|
||||
int
|
||||
winIconIsOverride(HICON hicon);
|
||||
|
|
|
@ -46,7 +46,7 @@ winSetSpansNativeGDI(DrawablePtr pDrawable,
|
|||
PixmapPtr pPixmap = NULL;
|
||||
winPrivPixmapPtr pPixmapPriv = NULL;
|
||||
HBITMAP hbmpOrig = NULL;
|
||||
BITMAPINFO bmi;
|
||||
BITMAPINFO *pbmi;
|
||||
HRGN hrgn = NULL, combined = NULL;
|
||||
int nbox;
|
||||
BoxPtr pbox;
|
||||
|
@ -57,6 +57,8 @@ winSetSpansNativeGDI(DrawablePtr pDrawable,
|
|||
if (!nbox)
|
||||
return;
|
||||
|
||||
pbmi = malloc(sizeof(BITMAPINFO) + sizeof(RGBQUAD));
|
||||
|
||||
combined = CreateRectRgn(pbox->x1, pbox->y1, pbox->x2, pbox->y2);
|
||||
nbox--;
|
||||
pbox++;
|
||||
|
@ -86,19 +88,20 @@ winSetSpansNativeGDI(DrawablePtr pDrawable,
|
|||
"failed on pPixmapPriv->hBitmap\n");
|
||||
|
||||
while (iSpans--) {
|
||||
ZeroMemory(&bmi, sizeof(BITMAPINFO));
|
||||
bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
|
||||
bmi.bmiHeader.biWidth = *piWidths;
|
||||
bmi.bmiHeader.biHeight = 1;
|
||||
bmi.bmiHeader.biPlanes = 1;
|
||||
bmi.bmiHeader.biBitCount = pDrawable->depth;
|
||||
bmi.bmiHeader.biCompression = BI_RGB;
|
||||
ZeroMemory(pbmi, sizeof(BITMAPINFO));
|
||||
pbmi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
|
||||
pbmi->bmiHeader.biWidth = *piWidths;
|
||||
pbmi->bmiHeader.biHeight = 1;
|
||||
pbmi->bmiHeader.biPlanes = 1;
|
||||
pbmi->bmiHeader.biBitCount = pDrawable->depth;
|
||||
pbmi->bmiHeader.biCompression = BI_RGB;
|
||||
|
||||
/* Setup color table for mono DIBs */
|
||||
if (pDrawable->depth == 1) {
|
||||
bmi.bmiColors[1].rgbBlue = 255;
|
||||
bmi.bmiColors[1].rgbGreen = 255;
|
||||
bmi.bmiColors[1].rgbRed = 255;
|
||||
RGBQUAD *bmiColors = &(pbmi->bmiColors[0]);
|
||||
bmiColors[1].rgbBlue = 255;
|
||||
bmiColors[1].rgbGreen = 255;
|
||||
bmiColors[1].rgbRed = 255;
|
||||
}
|
||||
|
||||
StretchDIBits(pGCPriv->hdcMem,
|
||||
|
@ -107,7 +110,7 @@ winSetSpansNativeGDI(DrawablePtr pDrawable,
|
|||
0, 0,
|
||||
*piWidths, 1,
|
||||
pSrcs,
|
||||
(BITMAPINFO *) &bmi,
|
||||
(BITMAPINFO *) pbmi,
|
||||
DIB_RGB_COLORS, g_copyROP[pGC->alu]);
|
||||
|
||||
pSrcs += PixmapBytePad(*piWidths, pDrawable->depth);
|
||||
|
@ -129,19 +132,20 @@ winSetSpansNativeGDI(DrawablePtr pDrawable,
|
|||
combined = NULL;
|
||||
|
||||
while (iSpans--) {
|
||||
ZeroMemory(&bmi, sizeof(BITMAPINFO));
|
||||
bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
|
||||
bmi.bmiHeader.biWidth = *piWidths;
|
||||
bmi.bmiHeader.biHeight = 1;
|
||||
bmi.bmiHeader.biPlanes = 1;
|
||||
bmi.bmiHeader.biBitCount = pDrawable->depth;
|
||||
bmi.bmiHeader.biCompression = BI_RGB;
|
||||
ZeroMemory(pbmi, sizeof(BITMAPINFO));
|
||||
pbmi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
|
||||
pbmi->bmiHeader.biWidth = *piWidths;
|
||||
pbmi->bmiHeader.biHeight = 1;
|
||||
pbmi->bmiHeader.biPlanes = 1;
|
||||
pbmi->bmiHeader.biBitCount = pDrawable->depth;
|
||||
pbmi->bmiHeader.biCompression = BI_RGB;
|
||||
|
||||
/* Setup color table for mono DIBs */
|
||||
if (pDrawable->depth == 1) {
|
||||
bmi.bmiColors[1].rgbBlue = 255;
|
||||
bmi.bmiColors[1].rgbGreen = 255;
|
||||
bmi.bmiColors[1].rgbRed = 255;
|
||||
RGBQUAD *bmiColors = &(pbmi->bmiColors[0]);
|
||||
bmiColors[1].rgbBlue = 255;
|
||||
bmiColors[1].rgbGreen = 255;
|
||||
bmiColors[1].rgbRed = 255;
|
||||
}
|
||||
|
||||
StretchDIBits(pGCPriv->hdc,
|
||||
|
@ -150,7 +154,7 @@ winSetSpansNativeGDI(DrawablePtr pDrawable,
|
|||
0, 0,
|
||||
*piWidths, 1,
|
||||
pSrcs,
|
||||
(BITMAPINFO *) &bmi,
|
||||
(BITMAPINFO *) pbmi,
|
||||
DIB_RGB_COLORS, g_copyROP[pGC->alu]);
|
||||
|
||||
pSrcs += PixmapBytePad(*piWidths, pDrawable->depth);
|
||||
|
@ -166,4 +170,6 @@ winSetSpansNativeGDI(DrawablePtr pDrawable,
|
|||
FatalError("\nwinSetSpansNativeGDI - Unknown drawable type\n\n");
|
||||
break;
|
||||
}
|
||||
|
||||
free(pbmi);
|
||||
}
|
||||
|
|
|
@ -170,7 +170,7 @@ winHandleIconMessage(HWND hwnd, UINT message,
|
|||
RemoveMenu(hmenuTray, ID_APP_HIDE_ROOT, MF_BYCOMMAND);
|
||||
}
|
||||
|
||||
SetupRootMenu((unsigned long) hmenuTray);
|
||||
SetupRootMenu(hmenuTray);
|
||||
|
||||
/*
|
||||
* NOTE: This three-step procedure is required for
|
||||
|
|
7
pseudoramiX/Makefile.am
Normal file
7
pseudoramiX/Makefile.am
Normal file
|
@ -0,0 +1,7 @@
|
|||
# Fake Xinerama extension
|
||||
|
||||
AM_CFLAGS = $(DIX_CFLAGS)
|
||||
|
||||
noinst_LTLIBRARIES = libPseudoramiX.la
|
||||
|
||||
libPseudoramiX_la_SOURCES = pseudoramiX.c pseudoramiX.h
|
Loading…
Reference in New Issue
Block a user