aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/hw
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2013-07-24 14:25:51 +0200
committermarha <marha@users.sourceforge.net>2013-07-25 08:25:18 +0200
commitde54c5b749b3eefb75d420840c889533a58aa342 (patch)
tree6502771c9dd5a0d455388734060469b18f2e4011 /xorg-server/hw
parent0606cba5be2dab08f0b4de540d7b278fa6273daf (diff)
downloadvcxsrv-de54c5b749b3eefb75d420840c889533a58aa342.tar.gz
vcxsrv-de54c5b749b3eefb75d420840c889533a58aa342.tar.bz2
vcxsrv-de54c5b749b3eefb75d420840c889533a58aa342.zip
64-bit compilation now compiles and runs
Diffstat (limited to 'xorg-server/hw')
-rw-r--r--xorg-server/hw/xwin/InitOutput.c5
-rw-r--r--xorg-server/hw/xwin/swrastwgl_dri/makefile8
-rw-r--r--xorg-server/hw/xwin/winSetAppUserModelID.c3
-rw-r--r--xorg-server/hw/xwin/winmultiwindowwm.c116
-rw-r--r--xorg-server/hw/xwin/winmultiwindowwndproc.c2
-rw-r--r--xorg-server/hw/xwin/xlaunch/main.cc36
-rw-r--r--xorg-server/hw/xwin/xlaunch/makefile10
7 files changed, 35 insertions, 145 deletions
diff --git a/xorg-server/hw/xwin/InitOutput.c b/xorg-server/hw/xwin/InitOutput.c
index a35721e74..f194d535f 100644
--- a/xorg-server/hw/xwin/InitOutput.c
+++ b/xorg-server/hw/xwin/InitOutput.c
@@ -975,11 +975,6 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char *argv[])
winPropertyStoreInit();
#endif
-#ifdef XWIN_MULTIWINDOW
- /* Load libraries for taskbar grouping */
- winTaskbarInit ();
-#endif
-
/* Store the instance handle */
g_hInstance = GetModuleHandle(NULL);
diff --git a/xorg-server/hw/xwin/swrastwgl_dri/makefile b/xorg-server/hw/xwin/swrastwgl_dri/makefile
index bf0e66f16..201f2aeb9 100644
--- a/xorg-server/hw/xwin/swrastwgl_dri/makefile
+++ b/xorg-server/hw/xwin/swrastwgl_dri/makefile
@@ -1,3 +1,7 @@
+ifndef PYTHON3
+$(error Please define PYTHON3 environment variable)
+endif
+
SHAREDLIB = swrastwgl_dri
INCLUDES += $(OBJDIR) ..\..\.. .. ..\glx
@@ -10,8 +14,8 @@ CSRCS = swrastwgl_dri.c glwrap.c wgl_ext_api.c
vpath %.c ../glx
-$(OBJDIR)\generated_gl_wrappers.c: gen_gl_wrappers.py ../glx/gl.xml ../glx/gen_gl_wrappers.py ../glx/reg.py ../../../glx/dispatch.h
+$(OBJDIR)\generated_gl_wrappers.c: ../glx/gen_gl_wrappers.py ../glx/gl.xml ../glx/gen_gl_wrappers.py ../glx/reg.py ../../../glx/dispatch.h
$(PYTHON3) ../glx/gen_gl_wrappers.py -outfile $@ -nodbgcount -registry ../glx/gl.xml -staticwrappers -dispatchheader ../../../glx/dispatch.h
-$(OBJDIR)\generated_wgl_wrappers.c: gen_gl_wrappers.py ../glx/wgl.xml ../glx/gen_gl_wrappers.py ../glx/reg.py
+$(OBJDIR)\generated_wgl_wrappers.c: ../glx/gen_gl_wrappers.py ../glx/wgl.xml ../glx/gen_gl_wrappers.py ../glx/reg.py
$(PYTHON3) ../glx/gen_gl_wrappers.py -outfile $@ -nodbgcount -registry ../glx/wgl.xml -prefix wgl -preresolve
diff --git a/xorg-server/hw/xwin/winSetAppUserModelID.c b/xorg-server/hw/xwin/winSetAppUserModelID.c
index 41615e19c..3c449a3a8 100644
--- a/xorg-server/hw/xwin/winSetAppUserModelID.c
+++ b/xorg-server/hw/xwin/winSetAppUserModelID.c
@@ -34,6 +34,7 @@
#include "winmsg.h"
#include <shlwapi.h>
+#include <propvarutil.h>
#define INITGUID
#include "initguid.h"
@@ -95,7 +96,7 @@ winSetAppUserModelID(HWND hWnd, const char *AppID)
hr = g_pSHGetPropertyStoreForWindow(hWnd, &IID_IPropertyStore,
(void **) &pps);
if (SUCCEEDED(hr) && pps) {
- memset(&pv, 0, sizeof(PROPVARIANT));
+ PropVariantInit(&pv);
if (AppID) {
pv.vt = VT_LPWSTR;
hr = SHStrDupA(AppID, &pv.pwszVal);
diff --git a/xorg-server/hw/xwin/winmultiwindowwm.c b/xorg-server/hw/xwin/winmultiwindowwm.c
index 3187f2172..e8fbf08c0 100644
--- a/xorg-server/hw/xwin/winmultiwindowwm.c
+++ b/xorg-server/hw/xwin/winmultiwindowwm.c
@@ -65,9 +65,6 @@ typedef int pid_t;
#include "windowstr.h"
#include "winmultiwindowclass.h"
-#include <shlwapi.h>
-#include "taskbar.h"
-
#ifdef XWIN_MULTIWINDOWEXTWM
#define _WINDOWSWM_SERVER_
#include <X11/extensions/windowswmstr.h>
@@ -207,10 +204,6 @@ static pthread_t g_winMultiWindowXMsgProcThread;
static Bool g_shutdown = FALSE;
static Bool redirectError = FALSE;
static Bool g_fAnotherWMRunning = FALSE;
-static HMODULE g_hmodShell32Dll = NULL;
-static HMODULE g_hmodOle32Dll = NULL;
-static SHGETPROPERTYSTOREFORWINDOWPROC g_pSHGetPropertyStoreForWindow = NULL;
-static PROPVARIANTCLEARPROC g_pPropVariantClear = NULL;
/*
* PushMessage - Push a message onto the queue
@@ -458,7 +451,7 @@ getHwnd(WMInfoPtr pWMInfo, Window iWindow)
iWindow,
pWMInfo->atmPrivMap,
0,
- 1,
+ sizeof(HWND)/4,
False,
XA_INTEGER,
&atmType,
@@ -701,7 +694,7 @@ winMultiWindowWMProc(void *pArg)
XChangeProperty(pWMInfo->pDisplay, pNode->msg.iWindow, pWMInfo->atmPrivMap, XA_INTEGER, //pWMInfo->atmPrivMap,
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;
@@ -712,7 +705,7 @@ winMultiWindowWMProc(void *pArg)
XChangeProperty(pWMInfo->pDisplay, pNode->msg.iWindow, pWMInfo->atmPrivMap, XA_INTEGER, //pWMInfo->atmPrivMap,
32,
PropModeReplace,
- (unsigned char *) &(pNode->msg.hwndWindow), 1);
+ (unsigned char *) &(pNode->msg.hwndWindow), sizeof(HWND)/4);
break;
case WM_WM_MAP3:
@@ -722,7 +715,7 @@ winMultiWindowWMProc(void *pArg)
XChangeProperty(pWMInfo->pDisplay, pNode->msg.iWindow, pWMInfo->atmPrivMap, XA_INTEGER, //pWMInfo->atmPrivMap,
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);
@@ -1006,14 +999,14 @@ winMultiWindowXMsgProc(void *pArg)
(pProcArg->pDisplay, pProcArg->dwScreen, TRUE)) {
if (!g_fAnotherWMRunning) {
g_fAnotherWMRunning = TRUE;
- SendMessage(*(HWND *) pProcArg->hwndScreen, WM_UNMANAGE, 0,
+ SendMessage(pProcArg->hwndScreen, WM_UNMANAGE, 0,
0);
}
}
else {
if (g_fAnotherWMRunning) {
g_fAnotherWMRunning = FALSE;
- SendMessage(*(HWND *) pProcArg->hwndScreen, WM_MANAGE, 0,
+ SendMessage(pProcArg->hwndScreen, WM_MANAGE, 0,
0);
}
}
@@ -1857,100 +1850,3 @@ winUpdateWindowPosition(HWND hWnd, HWND * zstyle)
rcNew.right - rcNew.left, rcNew.bottom - rcNew.top, 0);
}
-
-void
-winTaskbarInit (void)
-{
- /*
- Load libraries and get function pointers to SHGetPropertyStoreForWindow
- and PropVariantClear for winSetAppID()
- */
-
- /*
- SHGetPropertyStoreForWindow is only supported since Windows 7. On previous
- versions the pointer will be NULL and taskbar grouping is not supported.
- winSetAppID() will do nothing in this case.
- */
- g_hmodShell32Dll = LoadLibrary ("shell32.dll");
- if (g_hmodShell32Dll == NULL)
- {
- ErrorF ("winTaskbarInit - Could not load shell32.dll\n");
- return;
- }
-
- g_pSHGetPropertyStoreForWindow = (SHGETPROPERTYSTOREFORWINDOWPROC) GetProcAddress (g_hmodShell32Dll, "SHGetPropertyStoreForWindow");
- if (g_pSHGetPropertyStoreForWindow == NULL)
- {
- ErrorF ("winTaskbarInit - Could not get SHGetPropertyStoreForWindow address\n");
- return;
- }
-
- /*
- PropVariantClear is supported since NT4, but we have no propidl.h to
- provide a prototype for it
- */
- g_hmodOle32Dll = LoadLibrary ("ole32.dll");
- if (g_hmodOle32Dll == NULL)
- {
- ErrorF ("winTaskbarInit - Could not load ole32.dll\n");
- return;
- }
-
- g_pPropVariantClear = (PROPVARIANTCLEARPROC) GetProcAddress (g_hmodOle32Dll, "PropVariantClear");
- if (g_pPropVariantClear == NULL)
- {
- ErrorF ("winTaskbarInit - Could not get g_pPropVariantClear address\n");
- return;
- }
-}
-
-void
-winTaskbarDestroy (void)
-{
- if (g_hmodOle32Dll != NULL)
- {
- FreeLibrary (g_hmodOle32Dll);
- g_hmodOle32Dll = NULL;
- g_pPropVariantClear = NULL;
- }
- if (g_hmodShell32Dll != NULL)
- {
- FreeLibrary (g_hmodShell32Dll);
- g_hmodShell32Dll = NULL;
- g_pSHGetPropertyStoreForWindow = NULL;
- }
-}
-
-void
-winSetAppID (HWND hWnd, const char* AppID)
-{
- PROPVARIANT pv;
- IPropertyStore *pps = NULL;
- HRESULT hr;
-
- if (g_pSHGetPropertyStoreForWindow == NULL ||
- g_pPropVariantClear == NULL)
- {
- return;
- }
-
- winDebug ("winSetAppID - hwnd 0x%08x appid '%s'\n", hWnd, AppID);
-
- hr = g_pSHGetPropertyStoreForWindow (hWnd, &IID_IPropertyStore, (void**)&pps);
- if(SUCCEEDED(hr) && pps)
- {
- memset(&pv, 0, sizeof(PROPVARIANT));
- if(AppID)
- {
- pv.vt = VT_LPWSTR;
- hr = SHStrDupA(AppID, &pv.pwszVal);
- }
-
- if(SUCCEEDED(hr))
- {
- hr = pps->lpVtbl->SetValue(pps, &PKEY_AppUserModel_ID, &pv);
- g_pPropVariantClear(&pv);
- }
- pps->lpVtbl->Release(pps);
- }
-}
diff --git a/xorg-server/hw/xwin/winmultiwindowwndproc.c b/xorg-server/hw/xwin/winmultiwindowwndproc.c
index af6bb528e..b52d5990b 100644
--- a/xorg-server/hw/xwin/winmultiwindowwndproc.c
+++ b/xorg-server/hw/xwin/winmultiwindowwndproc.c
@@ -806,7 +806,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;
diff --git a/xorg-server/hw/xwin/xlaunch/main.cc b/xorg-server/hw/xwin/xlaunch/main.cc
index 8ec1e011c..bf4f5e6a5 100644
--- a/xorg-server/hw/xwin/xlaunch/main.cc
+++ b/xorg-server/hw/xwin/xlaunch/main.cc
@@ -219,7 +219,7 @@ class CMyWizard : public CWizard
config.window = CConfig::Nodecoration;
else
{
- SetWindowLong(hwndDlg, DWL_MSGRESULT, -1);
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, -1);
return TRUE;
}
// Get selected display number
@@ -233,27 +233,27 @@ class CMyWizard : public CWizard
if (config.display.empty())
{
MessageBox(hwndDlg,"Please fill in a display number.","Error",MB_OK);
- SetWindowLong(hwndDlg, DWL_MSGRESULT, -1);
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, -1);
}
else
- SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_CLIENTS);
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_CLIENTS);
return TRUE;
case IDD_CLIENTS:
// Check for select client startup method
if (IsDlgButtonChecked(hwndDlg, IDC_CLIENT))
{
config.client = CConfig::StartProgram;
- SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_PROGRAM);
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_PROGRAM);
} else if (IsDlgButtonChecked(hwndDlg, IDC_XDMCP))
{
config.client = CConfig::XDMCP;
- SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_XDMCP);
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_XDMCP);
} else if (IsDlgButtonChecked(hwndDlg, IDC_CLIENT_NONE))
{
config.client = CConfig::NoClient;
- SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_EXTRA);
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_EXTRA);
} else
- SetWindowLong(hwndDlg, DWL_MSGRESULT, -1);
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, -1);
return TRUE;
case IDD_PROGRAM:
// Check wether local or remote client should be started
@@ -263,7 +263,7 @@ class CMyWizard : public CWizard
config.local = false;
else
{
- SetWindowLong(hwndDlg, DWL_MSGRESULT, -1);
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, -1);
return TRUE;
}
// Read program, user and host name
@@ -290,9 +290,9 @@ class CMyWizard : public CWizard
}
// Check for valid input
if (!config.local && (config.host.empty() || config.localprogram.empty() || config.remoteprogram.empty()))
- SetWindowLong(hwndDlg, DWL_MSGRESULT, -1);
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, -1);
else
- SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_EXTRA);
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_EXTRA);
return TRUE;
case IDD_XDMCP:
// Check for broadcast
@@ -302,7 +302,7 @@ class CMyWizard : public CWizard
config.broadcast = false;
else
{
- SetWindowLong(hwndDlg, DWL_MSGRESULT, -1);
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, -1);
return TRUE;
}
// Check for indirect mode
@@ -319,9 +319,9 @@ class CMyWizard : public CWizard
}
// Check for valid input
if (!config.broadcast && config.xdmcp_host.empty())
- SetWindowLong(hwndDlg, DWL_MSGRESULT, -1);
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, -1);
else
- SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_EXTRA);
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_EXTRA);
if (IsDlgButtonChecked(hwndDlg, IDC_XDMCP_TERMINATE))
config.xdmcpterminate = true;
else
@@ -355,7 +355,7 @@ class CMyWizard : public CWizard
buffer[511] = 0;
config.extra_params = buffer;
}
- SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_FINISH);
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_FINISH);
return TRUE;
default:
break;
@@ -385,20 +385,20 @@ class CMyWizard : public CWizard
{
case IDD_PROGRAM:
case IDD_XDMCP:
- SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_CLIENTS);
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_CLIENTS);
return TRUE;
case IDD_FONTPATH:
case IDD_EXTRA: // temporary. fontpath is disabled
switch (config.client)
{
case CConfig::NoClient:
- SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_CLIENTS);
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_CLIENTS);
return TRUE;
case CConfig::StartProgram:
- SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_PROGRAM);
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_PROGRAM);
return TRUE;
case CConfig::XDMCP:
- SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_XDMCP);
+ SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_XDMCP);
return TRUE;
}
break;
diff --git a/xorg-server/hw/xwin/xlaunch/makefile b/xorg-server/hw/xwin/xlaunch/makefile
index 98656e57e..83426fe19 100644
--- a/xorg-server/hw/xwin/xlaunch/makefile
+++ b/xorg-server/hw/xwin/xlaunch/makefile
@@ -11,18 +11,12 @@ WINAPP = xlaunch
RESOURCES = resources.rc
-$(OBJDIR)\%.res : resources\%.rc $(wildcard resources\*.rc)
+$(OBJDIR)\%.res : resources\%.rc $(wildcard resources\*.rc)
$(RC) $(RCFLAGS) $(RCDEFINES:%=-d "%") $(RCINCLUDES:%=-i %) -Fo$(relpath $@) $<
LIBDIRS=$(dir $(INCLUDELIBFILES))
load_makefile $(LIBDIRS:%$(OBJDIR)\=%makefile MAKESERVER=0 DEBUG=$(DEBUG);)
-LINKLIBS += $(MHMAKECONF)\libxml2\lib\libxml2.lib
-
-ifeq ($(DEBUG),1)
-LINKLIBS += $(MHMAKECONF)\pthreads\pthreadVC2d.lib
-else
-LINKLIBS += $(MHMAKECONF)\pthreads\pthreadVC2.lib
-endif
+LINKLIBS += $(LIBXMLLIB) $(PTHREADLIB)