Merge remote-tracking branch 'jturney/rpavlik-xwin-fixes'

This commit is contained in:
Keith Packard 2012-01-09 13:22:28 -08:00
commit e722ad6c3e
11 changed files with 23 additions and 25 deletions

View File

@ -175,7 +175,8 @@ install-exec-hook:
EXTRA_DIST = \
$(xwinconfig_DATA) \
X.ico \
XWin.rc
XWin.rc \
XWin.exe.manifest
relink:
$(AM_V_at)rm -f XWin$(EXEEXT) && $(MAKE) XWin$(EXEEXT)

View File

@ -39,7 +39,6 @@
#include <sys/select.h>
#else
#include <X11/Xwinsock.h>
#define HAS_WINSOCK
#endif
#include <fcntl.h>
#include <setjmp.h>

View File

@ -32,6 +32,8 @@
#ifdef HAVE_XWIN_CONFIG_H
#include <xwin-config.h>
#else
#define HAS_WINSOCK 1
#endif
#include <sys/types.h>
#include "winclipboard.h"

View File

@ -192,15 +192,12 @@ winSetEngine (ScreenPtr pScreen)
/* ShadowGDI is the only engine that supports Multi Window Mode */
if (
#ifdef XWIN_MULTIWINDOWEXTWM
pScreenInfo->fMWExtWM
#else
FALSE
#ifdef XWIN_MULTIWINDOWEXTWM
|| pScreenInfo->fMWExtWM
#endif
#ifdef XWIN_MULTIWINDOW
|| pScreenInfo->fMultiWindow
#else
|| FALSE
#endif
)
{

View File

@ -1201,11 +1201,13 @@ winInitWM (void **ppWMInfo,
XMsgProcArgPtr pXMsgArg = (XMsgProcArgPtr) malloc (sizeof(XMsgProcArgRec));
/* Bail if the input parameters are bad */
if (pArg == NULL || pWMInfo == NULL)
{
ErrorF ("winInitWM - malloc failed.\n");
return FALSE;
}
if (pArg == NULL || pWMInfo == NULL || pXMsgArg == NULL) {
ErrorF ("winInitWM - malloc failed.\n");
free(pArg);
free(pWMInfo);
free(pXMsgArg);
return FALSE;
}
/* Zero the allocated memory */
ZeroMemory (pArg, sizeof (WMProcArgRec));

View File

@ -315,7 +315,6 @@ static Bool
winActivateAppNativeGDI (ScreenPtr pScreen)
{
winScreenPriv(pScreen);
winScreenInfo *pScreenInfo = pScreenPriv->pScreenInfo;
/*
* Are we active?
@ -323,7 +322,8 @@ winActivateAppNativeGDI (ScreenPtr pScreen)
*/
if (pScreenPriv != NULL
&& pScreenPriv->fActive
&& pScreenInfo->fFullScreen)
&& pScreenPriv->pScreenInfo
&& pScreenPriv->pScreenInfo->fFullScreen)
{
/*
* Activating, attempt to bring our window
@ -338,7 +338,8 @@ winActivateAppNativeGDI (ScreenPtr pScreen)
*/
if (pScreenPriv != NULL
&& !pScreenPriv->fActive
&& pScreenInfo->fFullScreen)
&& pScreenPriv->pScreenInfo
&& pScreenPriv->pScreenInfo->fFullScreen)
{
/*
* Deactivating, stuff our window onto the

View File

@ -461,12 +461,12 @@ static Bool
winActivateAppPrimaryDD (ScreenPtr pScreen)
{
winScreenPriv(pScreen);
winScreenInfo *pScreenInfo = pScreenPriv->pScreenInfo;
RECT rcSrc, rcClient;
HRESULT ddrval = DD_OK;
/* Check for errors */
if (pScreenPriv == NULL
|| pScreenPriv->pScreenInfo == NULL
|| pScreenPriv->pddsPrimary == NULL
|| pScreenPriv->pddsOffscreen == NULL)
return FALSE;
@ -500,8 +500,8 @@ winActivateAppPrimaryDD (ScreenPtr pScreen)
/* Setup a source rectangle */
rcSrc.left = 0;
rcSrc.top = 0;
rcSrc.right = pScreenInfo->dwWidth;
rcSrc.bottom = pScreenInfo->dwHeight;
rcSrc.right = pScreenPriv->pScreenInfo->dwWidth;
rcSrc.bottom = pScreenPriv->pScreenInfo->dwHeight;
ddrval = IDirectDrawSurface2_Blt (pScreenPriv->pddsPrimary,
&rcClient,

View File

@ -122,8 +122,6 @@ Bool
winRandRScreenSetSize (ScreenPtr pScreen,
CARD16 width,
CARD16 height,
CARD16 pixWidth,
CARD16 pixHeight,
CARD32 mmWidth,
CARD32 mmHeight)
{

View File

@ -270,7 +270,6 @@ winQueryRGBBitsAndMasks (ScreenPtr pScreen)
else
{
ErrorF ("winQueryRGBBitsAndMasks - winQueryScreenDIBFormat failed\n");
free (pbmih);
fReturn = FALSE;
}

View File

@ -551,7 +551,7 @@ winMWExtWMRestackFrame (RootlessFrameID wid, RootlessFrameID nextWid)
winDebug ("winMWExtWMRestackFrame (%08x)\n", (int) pRLWinPriv);
#endif
if (pScreenPriv->fRestacking) return;
if (pScreenPriv && pScreenPriv->fRestacking) return;
if (pScreenPriv) pScreenInfo = pScreenPriv->pScreenInfo;
@ -640,8 +640,6 @@ winMWExtWMRestackFrame (RootlessFrameID wid, RootlessFrameID nextWid)
SetWindowPos (pRLWinPriv->hWnd, pRLNextWinPriv->hWnd,
0, 0, 0, 0,
SWP_NOMOVE|SWP_NOSIZE|SWP_NOACTIVATE);
#if 0
#endif
}
#if CYGMULTIWINDOW_DEBUG
winDebug ("winMWExtWMRestackFrame - done (%08x)\n", (int) pRLWinPriv);

View File

@ -202,7 +202,8 @@ winMWExtWMDecorateWindow (HWND hwnd, LPARAM lParam)
/* Check if the Windows window property for our X window pointer is valid */
if ((pRLWinPriv = (win32RootlessWindowPtr)GetProp (hwnd, WIN_WINDOW_PROP)) != NULL)
{
pScreen = pRLWinPriv->pFrame->win->drawable.pScreen;
if (pRLWinPriv != NULL && pRLWinPriv->pFrame != NULL && pRLWinPriv->pFrame->win != NULL)
pScreen = pRLWinPriv->pFrame->win->drawable.pScreen;
if (pScreen) pScreenPriv = winGetScreenPriv(pScreen);
if (pScreenPriv) pScreenInfo = pScreenPriv->pScreenInfo;
if (pRLWinPriv && pScreenInfo) winMWExtWMUpdateWindowDecoration (pRLWinPriv, pScreenInfo);