Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver
This commit is contained in:
		
						commit
						dcfaa9f4f8
					
				|  | @ -35,6 +35,8 @@ | ||||||
| #include <sys/time.h> | #include <sys/time.h> | ||||||
| #include "winclipboard.h" | #include "winclipboard.h" | ||||||
| 
 | 
 | ||||||
|  | extern void		winFixClipboardChain(); | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| /*
 | /*
 | ||||||
|  * Constants |  * Constants | ||||||
|  | @ -181,28 +183,10 @@ winClipboardWindowProc (HWND hwnd, UINT message, | ||||||
| 
 | 
 | ||||||
|     case WM_CHANGECBCHAIN: |     case WM_CHANGECBCHAIN: | ||||||
|       { |       { | ||||||
| 	static Bool s_fProcessingChangeCBChain = FALSE; |  | ||||||
| 	winDebug ("winClipboardWindowProc - WM_CHANGECBCHAIN: wParam(%x) " | 	winDebug ("winClipboardWindowProc - WM_CHANGECBCHAIN: wParam(%x) " | ||||||
| 		  "lParam(%x) s_hwndNextViewer(%x)\n",  | 		  "lParam(%x) s_hwndNextViewer(%x)\n",  | ||||||
| 		  wParam, lParam, s_hwndNextViewer); | 		  wParam, lParam, s_hwndNextViewer); | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| 	/*
 |  | ||||||
| 	 * We've occasionally seen a loop in the clipboard chain.  Break |  | ||||||
| 	 * it on the first hint of recursion. |  | ||||||
| 	 */ |  | ||||||
| 	if (! s_fProcessingChangeCBChain)  |  | ||||||
| 	  { |  | ||||||
| 	    s_fProcessingChangeCBChain = TRUE; |  | ||||||
| 	  } |  | ||||||
| 	else |  | ||||||
| 	  { |  | ||||||
| 	    winErrorFVerb (1, "winClipboardWindowProc - WM_CHANGECBCHAIN - " |  | ||||||
| 			   "Nested calls detected.  Bailing.\n"); |  | ||||||
| 	    winDebug ("winClipboardWindowProc - WM_CHANGECBCHAIN: Exit\n"); |  | ||||||
| 	    return 0; |  | ||||||
| 	  } |  | ||||||
| 	 |  | ||||||
| 	if ((HWND) wParam == s_hwndNextViewer) | 	if ((HWND) wParam == s_hwndNextViewer) | ||||||
| 	  { | 	  { | ||||||
| 	    s_hwndNextViewer = (HWND) lParam; | 	    s_hwndNextViewer = (HWND) lParam; | ||||||
|  | @ -217,7 +201,6 @@ winClipboardWindowProc (HWND hwnd, UINT message, | ||||||
| 	  SendMessage (s_hwndNextViewer, message, | 	  SendMessage (s_hwndNextViewer, message, | ||||||
| 		       wParam, lParam); | 		       wParam, lParam); | ||||||
| 
 | 
 | ||||||
| 	s_fProcessingChangeCBChain = FALSE; |  | ||||||
|       } |       } | ||||||
|       winDebug ("winClipboardWindowProc - WM_CHANGECBCHAIN: Exit\n"); |       winDebug ("winClipboardWindowProc - WM_CHANGECBCHAIN: Exit\n"); | ||||||
|       return 0; |       return 0; | ||||||
|  | @ -274,8 +257,8 @@ winClipboardWindowProc (HWND hwnd, UINT message, | ||||||
| 	winDebug ("winClipboardWindowProc - WM_DRAWCLIPBOARD: Enter\n"); | 	winDebug ("winClipboardWindowProc - WM_DRAWCLIPBOARD: Enter\n"); | ||||||
| 
 | 
 | ||||||
| 	/*
 | 	/*
 | ||||||
| 	 * We've occasionally seen a loop in the clipboard chain.  Break | 	 * We've occasionally seen a loop in the clipboard chain. | ||||||
| 	 * it on the first hint of recursion. | 	 * Try and fix it on the first hint of recursion. | ||||||
| 	 */ | 	 */ | ||||||
| 	if (! s_fProcessingDrawClipboard)  | 	if (! s_fProcessingDrawClipboard)  | ||||||
| 	  { | 	  { | ||||||
|  | @ -283,16 +266,17 @@ winClipboardWindowProc (HWND hwnd, UINT message, | ||||||
| 	  } | 	  } | ||||||
| 	else | 	else | ||||||
| 	  { | 	  { | ||||||
|  | 	    /* Attempt to break the nesting by getting out of the chain, twice?, and then fix and bail */ | ||||||
|  | 	    s_fCBCInitialized = FALSE; | ||||||
|  | 	    ChangeClipboardChain (hwnd, s_hwndNextViewer); | ||||||
|  | 	    winFixClipboardChain(); | ||||||
| 	    winErrorFVerb (1, "winClipboardWindowProc - WM_DRAWCLIPBOARD - " | 	    winErrorFVerb (1, "winClipboardWindowProc - WM_DRAWCLIPBOARD - " | ||||||
| 			   "Nested calls detected.  Bailing.\n"); | 			   "Nested calls detected.  Re-initing.\n"); | ||||||
| 	    winDebug ("winClipboardWindowProc - WM_DRAWCLIPBOARD: Exit\n"); | 	    winDebug ("winClipboardWindowProc - WM_DRAWCLIPBOARD: Exit\n"); | ||||||
|  | 	    s_fProcessingDrawClipboard = FALSE; | ||||||
| 	    return 0; | 	    return 0; | ||||||
| 	  } | 	  } | ||||||
| 
 | 
 | ||||||
| 	/* Pass the message on the next window in the clipboard viewer chain */ |  | ||||||
| 	if (s_hwndNextViewer) |  | ||||||
| 	  SendMessage (s_hwndNextViewer, message, 0, 0); |  | ||||||
| 	 |  | ||||||
| 	/* Bail on first message */ | 	/* Bail on first message */ | ||||||
| 	if (!s_fCBCInitialized) | 	if (!s_fCBCInitialized) | ||||||
| 	  { | 	  { | ||||||
|  | @ -318,6 +302,8 @@ winClipboardWindowProc (HWND hwnd, UINT message, | ||||||
| 		    "We own the clipboard, returning.\n"); | 		    "We own the clipboard, returning.\n"); | ||||||
| 	    winDebug ("winClipboardWindowProc - WM_DRAWCLIPBOARD: Exit\n"); | 	    winDebug ("winClipboardWindowProc - WM_DRAWCLIPBOARD: Exit\n"); | ||||||
| 	    s_fProcessingDrawClipboard = FALSE; | 	    s_fProcessingDrawClipboard = FALSE; | ||||||
|  | 	    if (s_hwndNextViewer) | ||||||
|  | 		SendMessage (s_hwndNextViewer, message, wParam, lParam); | ||||||
| 	    return 0; | 	    return 0; | ||||||
| 	  } | 	  } | ||||||
| 
 | 
 | ||||||
|  | @ -379,6 +365,8 @@ winClipboardWindowProc (HWND hwnd, UINT message, | ||||||
| 
 | 
 | ||||||
| 	    winDebug ("winClipboardWindowProc - WM_DRAWCLIPBOARD: Exit\n"); | 	    winDebug ("winClipboardWindowProc - WM_DRAWCLIPBOARD: Exit\n"); | ||||||
| 	    s_fProcessingDrawClipboard = FALSE; | 	    s_fProcessingDrawClipboard = FALSE; | ||||||
|  | 	    if (s_hwndNextViewer) | ||||||
|  | 		SendMessage (s_hwndNextViewer, message, wParam, lParam); | ||||||
| 	    return 0; | 	    return 0; | ||||||
| 	  } | 	  } | ||||||
| 
 | 
 | ||||||
|  | @ -422,6 +410,9 @@ winClipboardWindowProc (HWND hwnd, UINT message, | ||||||
| 	s_fProcessingDrawClipboard = FALSE; | 	s_fProcessingDrawClipboard = FALSE; | ||||||
|       } |       } | ||||||
|       winDebug ("winClipboardWindowProc - WM_DRAWCLIPBOARD: Exit\n"); |       winDebug ("winClipboardWindowProc - WM_DRAWCLIPBOARD: Exit\n"); | ||||||
|  |       /* Pass the message on the next window in the clipboard viewer chain */ | ||||||
|  |       if (s_hwndNextViewer) | ||||||
|  | 	SendMessage (s_hwndNextViewer, message, wParam, lParam); | ||||||
|       return 0; |       return 0; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -58,6 +58,8 @@ winCreateBoundingWindowFullScreen (ScreenPtr pScreen) | ||||||
| { | { | ||||||
|   winScreenPriv(pScreen); |   winScreenPriv(pScreen); | ||||||
|   winScreenInfo		*pScreenInfo = pScreenPriv->pScreenInfo; |   winScreenInfo		*pScreenInfo = pScreenPriv->pScreenInfo; | ||||||
|  |   int			iX = pScreenInfo->dwInitialX; | ||||||
|  |   int			iY = pScreenInfo->dwInitialY; | ||||||
|   int			iWidth = pScreenInfo->dwWidth; |   int			iWidth = pScreenInfo->dwWidth; | ||||||
|   int			iHeight = pScreenInfo->dwHeight; |   int			iHeight = pScreenInfo->dwHeight; | ||||||
|   HWND			*phwnd = &pScreenPriv->hwndScreen; |   HWND			*phwnd = &pScreenPriv->hwndScreen; | ||||||
|  | @ -99,8 +101,8 @@ winCreateBoundingWindowFullScreen (ScreenPtr pScreen) | ||||||
| 			    WINDOW_CLASS,	/* Class name */ | 			    WINDOW_CLASS,	/* Class name */ | ||||||
| 			    szTitle,		/* Window name */ | 			    szTitle,		/* Window name */ | ||||||
| 			    WS_POPUP, | 			    WS_POPUP, | ||||||
| 			    0,			/* Horizontal position */ | 			    iX,			/* Horizontal position */ | ||||||
| 			    0,			/* Vertical position */ | 			    iY,			/* Vertical position */ | ||||||
| 			    iWidth,		/* Right edge */  | 			    iWidth,		/* Right edge */  | ||||||
| 			    iHeight,		/* Bottom edge */ | 			    iHeight,		/* Bottom edge */ | ||||||
| 			    (HWND) NULL,	/* No parent or owner window */ | 			    (HWND) NULL,	/* No parent or owner window */ | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue