diff options
author | marha <marha@users.sourceforge.net> | 2013-07-24 14:25:51 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2013-07-25 08:25:18 +0200 |
commit | de54c5b749b3eefb75d420840c889533a58aa342 (patch) | |
tree | 6502771c9dd5a0d455388734060469b18f2e4011 /xorg-server/hw | |
parent | 0606cba5be2dab08f0b4de540d7b278fa6273daf (diff) | |
download | vcxsrv-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.c | 5 | ||||
-rw-r--r-- | xorg-server/hw/xwin/swrastwgl_dri/makefile | 8 | ||||
-rw-r--r-- | xorg-server/hw/xwin/winSetAppUserModelID.c | 3 | ||||
-rw-r--r-- | xorg-server/hw/xwin/winmultiwindowwm.c | 116 | ||||
-rw-r--r-- | xorg-server/hw/xwin/winmultiwindowwndproc.c | 2 | ||||
-rw-r--r-- | xorg-server/hw/xwin/xlaunch/main.cc | 36 | ||||
-rw-r--r-- | xorg-server/hw/xwin/xlaunch/makefile | 10 |
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)
|