hw/xwin: Consolidate duplicated code as getHwnd() function
Consolidate code to find the native HWND of an X window, stored in the _WINDOWSWM_NATIVE_HWND property, duplicated in UpdateName() and PreserveWin32Stack() as getHwnd() Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk> Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
This commit is contained in:
parent
df7636dddb
commit
c98471fad7
|
@ -477,23 +477,23 @@ SendXMessage(Display * pDisplay, Window iWin, Atom atmType, long nData)
|
|||
}
|
||||
|
||||
/*
|
||||
* Updates the name of a HWND according to its X WM_NAME property
|
||||
* See if we can get the stored HWND for this window...
|
||||
*/
|
||||
|
||||
static void
|
||||
UpdateName(WMInfoPtr pWMInfo, Window iWindow)
|
||||
static HWND
|
||||
getHwnd(WMInfoPtr pWMInfo, Window iWindow)
|
||||
{
|
||||
wchar_t *pszName;
|
||||
Atom atmType;
|
||||
int fmtRet;
|
||||
unsigned long items, remain;
|
||||
HWND *retHwnd, hWnd;
|
||||
XWindowAttributes attr;
|
||||
HWND *retHwnd, hWnd = NULL;
|
||||
|
||||
hWnd = 0;
|
||||
|
||||
/* See if we can get the cached HWND for this window... */
|
||||
if (XGetWindowProperty(pWMInfo->pDisplay, iWindow, pWMInfo->atmPrivMap, 0, 1, False, XA_INTEGER, //pWMInfo->atmPrivMap,
|
||||
if (XGetWindowProperty(pWMInfo->pDisplay,
|
||||
iWindow,
|
||||
pWMInfo->atmPrivMap,
|
||||
0,
|
||||
1,
|
||||
False,
|
||||
XA_INTEGER,
|
||||
&atmType,
|
||||
&fmtRet,
|
||||
&items,
|
||||
|
@ -506,8 +506,26 @@ UpdateName(WMInfoPtr pWMInfo, Window iWindow)
|
|||
|
||||
/* Some sanity checks */
|
||||
if (!hWnd)
|
||||
return;
|
||||
return NULL;
|
||||
if (!IsWindow(hWnd))
|
||||
return NULL;
|
||||
|
||||
return hWnd;
|
||||
}
|
||||
|
||||
/*
|
||||
* Updates the name of a HWND according to its X WM_NAME property
|
||||
*/
|
||||
|
||||
static void
|
||||
UpdateName(WMInfoPtr pWMInfo, Window iWindow)
|
||||
{
|
||||
wchar_t *pszName;
|
||||
HWND hWnd;
|
||||
XWindowAttributes attr;
|
||||
|
||||
hWnd = getHwnd(pWMInfo, iWindow);
|
||||
if (!hWnd)
|
||||
return;
|
||||
|
||||
/* Set the Windows window name */
|
||||
|
@ -532,27 +550,12 @@ UpdateName(WMInfoPtr pWMInfo, Window iWindow)
|
|||
static void
|
||||
PreserveWin32Stack(WMInfoPtr pWMInfo, Window iWindow, UINT direction)
|
||||
{
|
||||
Atom atmType;
|
||||
int fmtRet;
|
||||
unsigned long items, remain;
|
||||
HWND hWnd, *retHwnd;
|
||||
HWND hWnd;
|
||||
DWORD myWinProcID, winProcID;
|
||||
Window xWindow;
|
||||
WINDOWPLACEMENT wndPlace;
|
||||
|
||||
hWnd = NULL;
|
||||
/* See if we can get the cached HWND for this window... */
|
||||
if (XGetWindowProperty(pWMInfo->pDisplay, iWindow, pWMInfo->atmPrivMap, 0, 1, False, XA_INTEGER, //pWMInfo->atmPrivMap,
|
||||
&atmType,
|
||||
&fmtRet,
|
||||
&items,
|
||||
&remain, (unsigned char **) &retHwnd) == Success) {
|
||||
if (retHwnd) {
|
||||
hWnd = *retHwnd;
|
||||
XFree(retHwnd);
|
||||
}
|
||||
}
|
||||
|
||||
hWnd = getHwnd(pWMInfo, iWindow);
|
||||
if (!hWnd)
|
||||
return;
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user