xserver: Branch 'master' - 14 commits
Keith Packard
keithp at kemper.freedesktop.org
Sat Mar 22 14:09:32 PDT 2014
hw/xwin/InitInput.c | 9 +++---
hw/xwin/InitOutput.c | 7 +++--
hw/xwin/man/XWin.man | 6 ++++
hw/xwin/win.h | 3 --
hw/xwin/winauth.c | 4 +-
hw/xwin/windialogs.c | 56 ----------------------------------------
hw/xwin/winglobals.c | 1
hw/xwin/winglobals.h | 1
hw/xwin/winmsgwindow.c | 4 ++
hw/xwin/winmultiwindowicons.c | 26 ++++++++++++++----
hw/xwin/winmultiwindowwm.c | 49 ++++++++++++++++++++++++++++++++---
hw/xwin/winmultiwindowwndproc.c | 24 ++++++++++++++---
hw/xwin/winprocarg.c | 5 +++
hw/xwin/winresource.h | 3 --
hw/xwin/winwin32rootless.c | 1
hw/xwin/winwndproc.c | 6 ++--
16 files changed, 118 insertions(+), 87 deletions(-)
New commits:
commit d9fdae5f4a648a10653e18dbc602646f3e22e522
Merge: 99bee6c 0e5d299
Author: Keith Packard <keithp at keithp.com>
Date: Sat Mar 22 14:09:00 2014 -0700
Merge remote-tracking branch 'jturney/master'
commit 0e5d2996ac872aca5995897fc518bdf9116bd246
Author: Jon TURNEY <jon.turney at dronecode.org.uk>
Date: Wed Sep 11 13:36:18 2013 +0100
hw/xwin: Fix WM_ENDSESSION crash on x86_64
We need to include xwin-config.h into winmsgwindow.c, so that _XSERVER64 is
defined, so that the layout of ScreenRec type is correct, so that it's privates
can be accessed correctly, so that the WM_GIVEUP message can be sent to the
screen window.
Signed-off-by: Jon TURNEY <jon.turney at dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison at virgin.net>
diff --git a/hw/xwin/winmsgwindow.c b/hw/xwin/winmsgwindow.c
index 8067c69..59f1da5 100644
--- a/hw/xwin/winmsgwindow.c
+++ b/hw/xwin/winmsgwindow.c
@@ -22,6 +22,10 @@
*
*/
+#ifdef HAVE_XWIN_CONFIG_H
+#include <xwin-config.h>
+#endif
+
#include "win.h"
/*
commit 896b53ffa72d91d7d604967028291525562b60dd
Author: Jon TURNEY <jon.turney at dronecode.org.uk>
Date: Sun Jun 16 13:55:51 2013 +0100
hw/xwin: Improve NET_WM_ICON validation
Check that we don't overrun the end of the property data while converting icons
See http://cygwin.com/ml/cygwin-xfree/2013-06/msg00040.html for testcase.
Also, some warning fixes in winXIconToHICON()
Signed-off-by: Jon TURNEY <jon.turney at dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison at virgin.net>
diff --git a/hw/xwin/winmultiwindowicons.c b/hw/xwin/winmultiwindowicons.c
index 0531ad6..93d389d 100644
--- a/hw/xwin/winmultiwindowicons.c
+++ b/hw/xwin/winmultiwindowicons.c
@@ -372,13 +372,12 @@ winXIconToHICON(Display * pDisplay, Window id, int iconSize)
unsigned char *mask, *image = NULL, *imageMask;
unsigned char *dst, *src;
int planes, bpp, i;
- int biggest_size = 0;
+ unsigned int biggest_size = 0;
HDC hDC;
ICONINFO ii;
XWMHints *hints;
HICON hIcon = NULL;
uint32_t *biggest_icon = NULL;
-
static Atom _XA_NET_WM_ICON;
static int generation;
uint32_t *icon, *icon_data = NULL;
@@ -405,10 +404,25 @@ winXIconToHICON(Display * pDisplay, Window id, int iconSize)
(icon_data != NULL)) {
for (icon = icon_data; icon < &icon_data[size] && *icon;
icon = &icon[icon[0] * icon[1] + 2]) {
- /* Find an exact match to the size we require... */
+ winDebug("winXIconToHICON: %u x %u NetIcon\n", icon[0], icon[1]);
+
+ /* Icon data size will overflow an int and thus is bigger than the
+ property can possibly be */
+ if ((INT_MAX/icon[0]) < icon[1]) {
+ winDebug("winXIconToHICON: _NET_WM_ICON icon data size overflow\n");
+ break;
+ }
+
+ /* Icon data size is bigger than amount of data remaining */
+ if (&icon[icon[0] * icon[1] + 2] > &icon_data[size]) {
+ winDebug("winXIconToHICON: _NET_WM_ICON data is malformed\n");
+ break;
+ }
+
+ /* Found an exact match to the size we require... */
if (icon[0] == iconSize && icon[1] == iconSize) {
- winDebug("winXIconToHICON: found %lu x %lu NetIcon\n", icon[0],
- icon[1]);
+ winDebug("winXIconToHICON: selected %d x %d NetIcon\n",
+ iconSize, iconSize);
hIcon = NetWMToWinIcon(bpp, icon);
break;
}
@@ -421,7 +435,7 @@ winXIconToHICON(Display * pDisplay, Window id, int iconSize)
if (!hIcon && biggest_icon) {
winDebug
- ("winXIconToHICON: selected %lu x %lu NetIcon for scaling to %u x %u\n",
+ ("winXIconToHICON: selected %u x %u NetIcon for scaling to %d x %d\n",
biggest_icon[0], biggest_icon[1], iconSize, iconSize);
hIcon = NetWMToWinIcon(bpp, biggest_icon);
commit ab61d070024a4776f011e71d762d4c6c0cf58b12
Author: Jon TURNEY <jon.turney at dronecode.org.uk>
Date: Sun Mar 31 18:29:07 2013 +0100
hw/xwin: Remove obsolete control handling for About dialog
Remove the unused, cygwin-specific handling for ChangeLog, UG and CG buttons in
the About... Dialog. The buttons themselves were removed in commmit
34269a90ea2087f883f5dc8805894fc4998e4b81.
Also remove those window control IDs which are now obsolete.
Signed-off-by: Jon TURNEY <jon.turney at dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison at virgin.net>
diff --git a/hw/xwin/windialogs.c b/hw/xwin/windialogs.c
index 054ee95..c9af0e2 100644
--- a/hw/xwin/windialogs.c
+++ b/hw/xwin/windialogs.c
@@ -574,10 +574,7 @@ winAboutDlgProc(HWND hwndDialog, UINT message, WPARAM wParam, LPARAM lParam)
winInitDialog(hwndDialog);
/* Override the URL buttons */
- winOverrideURLButton(hwndDialog, ID_ABOUT_CHANGELOG);
winOverrideURLButton(hwndDialog, ID_ABOUT_WEBSITE);
- winOverrideURLButton(hwndDialog, ID_ABOUT_UG);
- winOverrideURLButton(hwndDialog, ID_ABOUT_FAQ);
return TRUE;
@@ -608,30 +605,10 @@ winAboutDlgProc(HWND hwndDialog, UINT message, WPARAM wParam, LPARAM lParam)
PostMessage(s_pScreenPriv->hwndScreen, WM_NULL, 0, 0);
/* Restore window procedures for URL buttons */
- winUnoverrideURLButton(hwndDialog, ID_ABOUT_CHANGELOG);
winUnoverrideURLButton(hwndDialog, ID_ABOUT_WEBSITE);
- winUnoverrideURLButton(hwndDialog, ID_ABOUT_UG);
- winUnoverrideURLButton(hwndDialog, ID_ABOUT_FAQ);
return TRUE;
- case ID_ABOUT_CHANGELOG:
- {
- INT_PTR iReturn;
-
- const char *pszWinPath = "http://x.cygwin.com/"
- "devel/server/changelog.html";
-
- iReturn = (INT_PTR) ShellExecute(NULL,
- "open",
- pszWinPath, NULL, NULL, SW_MAXIMIZE);
- if (iReturn < 32) {
- ErrorF("winAboutDlgProc - WM_COMMAND - ID_ABOUT_CHANGELOG - "
- "ShellExecute failed: %d\n", (int)iReturn);
- }
- }
- return TRUE;
-
case ID_ABOUT_WEBSITE:
{
const char *pszPath = __VENDORDWEBSUPPORT__;
@@ -647,36 +624,6 @@ winAboutDlgProc(HWND hwndDialog, UINT message, WPARAM wParam, LPARAM lParam)
}
}
return TRUE;
-
- case ID_ABOUT_UG:
- {
- const char *pszPath = "http://x.cygwin.com/docs/ug/";
- INT_PTR iReturn;
-
- iReturn = (INT_PTR) ShellExecute(NULL,
- "open",
- pszPath, NULL, NULL, SW_MAXIMIZE);
- if (iReturn < 32) {
- ErrorF("winAboutDlgProc - WM_COMMAND - ID_ABOUT_UG - "
- "ShellExecute failed: %d\n", (int)iReturn);
- }
- }
- return TRUE;
-
- case ID_ABOUT_FAQ:
- {
- const char *pszPath = "http://x.cygwin.com/docs/faq/";
- INT_PTR iReturn;
-
- iReturn = (INT_PTR) ShellExecute(NULL,
- "open",
- pszPath, NULL, NULL, SW_MAXIMIZE);
- if (iReturn < 32) {
- ErrorF("winAboutDlgProc - WM_COMMAND - ID_ABOUT_FAQ - "
- "ShellExecute failed: %d\n", (int)iReturn);
- }
- }
- return TRUE;
}
break;
@@ -690,10 +637,7 @@ winAboutDlgProc(HWND hwndDialog, UINT message, WPARAM wParam, LPARAM lParam)
PostMessage(s_pScreenPriv->hwndScreen, WM_NULL, 0, 0);
/* Restore window procedures for URL buttons */
- winUnoverrideURLButton(hwndDialog, ID_ABOUT_CHANGELOG);
winUnoverrideURLButton(hwndDialog, ID_ABOUT_WEBSITE);
- winUnoverrideURLButton(hwndDialog, ID_ABOUT_UG);
- winUnoverrideURLButton(hwndDialog, ID_ABOUT_FAQ);
return TRUE;
}
diff --git a/hw/xwin/winresource.h b/hw/xwin/winresource.h
index a14d402..afbf9f2 100644
--- a/hw/xwin/winresource.h
+++ b/hw/xwin/winresource.h
@@ -44,9 +44,6 @@
#define ID_APP_ALWAYS_ON_TOP 202
#define ID_APP_ABOUT 203
-#define ID_ABOUT_UG 300
-#define ID_ABOUT_FAQ 301
-#define ID_ABOUT_CHANGELOG 302
#define ID_ABOUT_WEBSITE 303
#endif
commit 3b4d472b72601922bac264283eb6b611d8d524fc
Author: Oliver Schmidt <oschmidt-mailinglists at gmx.de>
Date: Wed Sep 7 14:00:56 2011 +0100
hw/xwin: Minimize redraw events after resizing/moving windows in multiwindow mode
In multiwindow mode the modal moving/resizing of windows causes a lot of redraw
events to be sent to the X clients after the user releases the mouse button.
During the moving/resizing client windows are not redrawn as long as the mouse
button is pressed, but all redraw/resizing events are queued and executed step
after step after the moving/resizing ends.
Some clients collect and combine multiple redraw or resizing events, other
clients (e.g. xterm) simply execute each redraw or sizing event.
The enclosed patch minimizes the events for clients to only one event after the
user releases the mouse button to end the moving/resizing. This improves the
user experience and reduces strange screen flickerings, especially on slow
platforms.
The enclosed patch modifies winmultiwindowwndproc.c such that the windows events
WM_ENTERSIZEMOVE and WM_EXITSIZEMOVE that are sent by Windows when the modal
window resizing/moving begins or ends are considered. Only after WM_EXITSIZEMOVE
is the redraw/resizing executed.
Signed-off-by: Oliver Schmidt <oschmidt-mailinglists at gmx.de>
Reviewed-by: Jon TURNEY <jon.turney at dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison at virgin.net>
diff --git a/hw/xwin/winmultiwindowwndproc.c b/hw/xwin/winmultiwindowwndproc.c
index 2d57014..17823ba 100644
--- a/hw/xwin/winmultiwindowwndproc.c
+++ b/hw/xwin/winmultiwindowwndproc.c
@@ -316,6 +316,7 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static Bool s_fTracking = FALSE;
Bool needRestack = FALSE;
LRESULT ret;
+ static Bool hasEnteredSizeMove = FALSE;
#if CYGDEBUG
winDebugWin32Message("winTopLevelWindowProc", hwnd, message, wParam,
@@ -872,7 +873,9 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
case WM_MOVE:
/* Adjust the X Window to the moved Windows window */
- winAdjustXWindow(pWin, hwnd);
+ if (!hasEnteredSizeMove)
+ winAdjustXWindow(pWin, hwnd);
+ /* else: Wait for WM_EXITSIZEMOVE */
return 0;
case WM_SHOWWINDOW:
@@ -1005,6 +1008,16 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
*/
break;
+ case WM_ENTERSIZEMOVE:
+ hasEnteredSizeMove = TRUE;
+ return 0;
+
+ case WM_EXITSIZEMOVE:
+ /* Adjust the X Window to the moved Windows window */
+ hasEnteredSizeMove = FALSE;
+ winAdjustXWindow(pWin, hwnd);
+ return 0;
+
case WM_SIZE:
/* see dix/window.c */
#if CYGWINDOWING_DEBUG
@@ -1029,8 +1042,11 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
(int) (GetTickCount()));
}
#endif
- /* Adjust the X Window to the moved Windows window */
- winAdjustXWindow(pWin, hwnd);
+ if (!hasEnteredSizeMove) {
+ /* Adjust the X Window to the moved Windows window */
+ winAdjustXWindow(pWin, hwnd);
+ }
+ /* else: wait for WM_EXITSIZEMOVE */
return 0; /* end of WM_SIZE handler */
case WM_STYLECHANGING:
commit 03e1cc6f250a3f5cf17b34639adbbc9850c681cd
Author: Jon TURNEY <jon.turney at dronecode.org.uk>
Date: Mon Nov 7 20:54:10 2011 +0000
hw/xwin: Add '@<WM_CLIENT_MACHINE>' to window name when it's useful to do so
Enhance GetWindowName() so it appends the result of XGetWMClientMachine() when
it is available and useful to do so
Add -hostintitle option to control this behaviour. Add documentation for this
option to man page and -help text.
Also, fix warning in UpdateName()
v2: Provide a HOST_NAME_MAX definition for MinGW
v3: Use '@host' rather than ' (on host)'. Don't add host if it's already in the
title.
Signed-off-by: Jon TURNEY <jon.turney at dronecode.org.uk>
Reviewed-by: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
Reviewed-by: Colin Harrison <colin.harrison at virgin.net>
diff --git a/hw/xwin/InitOutput.c b/hw/xwin/InitOutput.c
index 04015cd..b3ff7c0 100644
--- a/hw/xwin/InitOutput.c
+++ b/hw/xwin/InitOutput.c
@@ -786,6 +786,9 @@ winUseMsg(void)
ErrorF("-fullscreen\n" "\tRun the server in fullscreen mode.\n");
+ ErrorF("-hostintitle\n"
+ "\tIn multiwindow mode, add remote host names to window titles.\n");
+
ErrorF("-ignoreinput\n" "\tIgnore keyboard and mouse input.\n");
#ifdef XWIN_MULTIWINDOWEXTWM
diff --git a/hw/xwin/man/XWin.man b/hw/xwin/man/XWin.man
index 18ee667..c71f6a1 100644
--- a/hw/xwin/man/XWin.man
+++ b/hw/xwin/man/XWin.man
@@ -165,6 +165,12 @@ The maximum dimensions of the screen are the dimensions of the \fIWindows\fP vir
on its own is equivalent to \fB\-resize=randr\fP
.RE
+.SH OPTIONS FOR MULTIWINDOW MODE
+.TP 8
+.B \-hostintitle
+Add the host name to the window title for X applications which are running
+on remote hosts, when that information is available and it's useful to do so.
+
.SH OPTIONS CONTROLLING WINDOWS INTEGRATION
.TP 8
.B \-[no]clipboard
diff --git a/hw/xwin/winglobals.c b/hw/xwin/winglobals.c
index d281322..b9ad294 100644
--- a/hw/xwin/winglobals.c
+++ b/hw/xwin/winglobals.c
@@ -78,6 +78,7 @@ Bool g_fNoHelpMessageBox = FALSE;
Bool g_fSoftwareCursor = FALSE;
Bool g_fSilentDupError = FALSE;
Bool g_fNativeGl = TRUE;
+Bool g_fHostInTitle = FALSE;
pthread_mutex_t g_pmTerminating = PTHREAD_MUTEX_INITIALIZER;
#ifdef XWIN_CLIPBOARD
diff --git a/hw/xwin/winglobals.h b/hw/xwin/winglobals.h
index 58a919c..60c00da 100644
--- a/hw/xwin/winglobals.h
+++ b/hw/xwin/winglobals.h
@@ -54,6 +54,7 @@ extern Bool g_fXdmcpEnabled;
extern Bool g_fNoHelpMessageBox;
extern Bool g_fSilentDupError;
extern Bool g_fNativeGl;
+extern Bool g_fHostInTitle;
extern HWND g_hDlgDepthChange;
extern HWND g_hDlgExit;
diff --git a/hw/xwin/winmultiwindowwm.c b/hw/xwin/winmultiwindowwm.c
index ec577a7..618e381 100644
--- a/hw/xwin/winmultiwindowwm.c
+++ b/hw/xwin/winmultiwindowwm.c
@@ -60,6 +60,7 @@
#include "window.h"
#include "pixmapstr.h"
#include "windowstr.h"
+#include "winglobals.h"
#ifdef XWIN_MULTIWINDOWEXTWM
#include <X11/extensions/windowswmstr.h>
@@ -69,6 +70,10 @@
#define WINDOWSWM_NATIVE_HWND "_WINDOWSWM_NATIVE_HWND"
#endif
+#ifndef HOST_NAME_MAX
+#define HOST_NAME_MAX 255
+#endif
+
extern void winDebug(const char *format, ...);
extern void winReshapeMultiWindow(WindowPtr pWin);
extern void winUpdateRgnMultiWindow(WindowPtr pWin);
@@ -430,7 +435,10 @@ GetWindowName(Display * pDisplay, Window iWin, char **ppWindowName)
{
int nResult;
XTextProperty xtpWindowName;
+ XTextProperty xtpClientMachine;
char *pszWindowName;
+ char *pszClientMachine;
+ char hostname[HOST_NAME_MAX + 1];
#if CYGMULTIWINDOW_DEBUG
ErrorF("GetWindowName\n");
@@ -450,6 +458,41 @@ GetWindowName(Display * pDisplay, Window iWin, char **ppWindowName)
pszWindowName = Xutf8TextPropertyToString(pDisplay, &xtpWindowName);
XFree(xtpWindowName.value);
+
+ if (g_fHostInTitle) {
+ /* Try to get client machine name */
+ nResult = XGetWMClientMachine(pDisplay, iWin, &xtpClientMachine);
+ if (nResult && xtpClientMachine.value && xtpClientMachine.nitems) {
+ pszClientMachine =
+ Xutf8TextPropertyToString(pDisplay, &xtpClientMachine);
+ XFree(xtpClientMachine.value);
+
+ /*
+ If we have a client machine name
+ and it's not the local host name
+ and it's not already in the window title...
+ */
+ if (strlen(pszClientMachine) &&
+ !gethostname(hostname, HOST_NAME_MAX + 1) &&
+ strcmp(hostname, pszClientMachine) &&
+ (strstr(pszWindowName, pszClientMachine) == 0)) {
+ /* ... add '@<clientmachine>' to end of window name */
+ *ppWindowName =
+ malloc(strlen(pszWindowName) +
+ strlen(pszClientMachine) + 2);
+ strcpy(*ppWindowName, pszWindowName);
+ strcat(*ppWindowName, "@");
+ strcat(*ppWindowName, pszClientMachine);
+
+ free(pszWindowName);
+ free(pszClientMachine);
+
+ return;
+ }
+ }
+ }
+
+ /* otherwise just return the window name */
*ppWindowName = pszWindowName;
}
diff --git a/hw/xwin/winprocarg.c b/hw/xwin/winprocarg.c
index 858be4a..f2bf05b 100644
--- a/hw/xwin/winprocarg.c
+++ b/hw/xwin/winprocarg.c
@@ -1074,6 +1074,11 @@ ddxProcessArgument(int argc, char *argv[], int i)
return 1;
}
+ if (IS_OPTION("-hostintitle")) {
+ g_fHostInTitle = TRUE;
+ return 1;
+ }
+
return 0;
}
commit 6804acfe4fabc8ff8491bbc7edb6260440d3d4d3
Author: Colin Harrison <colin.harrison at virgin.net>
Date: Fri Mar 14 15:44:54 2014 +0000
hw/xwin: Remove prototype for non-existent winMWExtWMUpdateIcon()
winMWExtWMUpdateIcon() was removed in commit 527cf13135cfd279733060e0028bbfbe02be5167
Signed-off-by: Colin Harrison <colin.harrison at virgin.net>
Reviewed-by: Jon TURNEY <jon.turney at dronecode.org.uk>
diff --git a/hw/xwin/win.h b/hw/xwin/win.h
index 80fc504..a738a59 100644
--- a/hw/xwin/win.h
+++ b/hw/xwin/win.h
@@ -1336,9 +1336,6 @@ void
winMWExtWMMoveResizeXWindow(WindowPtr pWin, int x, int y, int w, int h);
void
- winMWExtWMUpdateIcon(Window id);
-
-void
winMWExtWMUpdateWindowDecoration(win32RootlessWindowPtr pRLWinPriv,
winScreenInfoPtr pScreenInfo);
commit 7fb5d765ba1e28eb775b847cef3d6079eba3bac1
Author: Colin Harrison <colin.harrison at virgin.net>
Date: Fri Mar 14 15:40:43 2014 +0000
hw/xwin: Use AllocDevicePair()
Use AllocDevicePair() rather than allocating Windows keyboard and pointer
devices individually.
Signed-off-by: Colin Harrison <colin.harrison at virgin.net>
Reviewed-by: Jon TURNEY <jon.turney at dronecode.org.uk>
diff --git a/hw/xwin/InitInput.c b/hw/xwin/InitInput.c
index 36346b7..38203c9 100644
--- a/hw/xwin/InitInput.c
+++ b/hw/xwin/InitInput.c
@@ -108,10 +108,11 @@ InitInput(int argc, char *argv[])
}
#endif
- g_pwinPointer = AddInputDevice(serverClient, winMouseProc, TRUE);
- g_pwinKeyboard = AddInputDevice(serverClient, winKeybdProc, TRUE);
- g_pwinPointer->name = strdup("Windows mouse");
- g_pwinKeyboard->name = strdup("Windows keyboard");
+ if (AllocDevicePair(serverClient, "Windows",
+ &g_pwinPointer, &g_pwinKeyboard,
+ winMouseProc, winKeybdProc,
+ FALSE) != Success)
+ FatalError("InitInput - Failed to allocate slave devices.\n");
mieqInit();
commit 061e5eba00a9a0dc27ff76946dc5f77004fc6a56
Author: Colin Harrison <colin.harrison at virgin.net>
Date: Fri Mar 14 15:36:59 2014 +0000
hw/xwin: Consistently use 'L' for long int constants
Signed-off-by: Colin Harrison <colin.harrison at virgin.net>
Reviewed-by: Jon TURNEY <jon.turney at dronecode.org.uk>
diff --git a/hw/xwin/winmultiwindowwm.c b/hw/xwin/winmultiwindowwm.c
index 9f12521..ec577a7 100644
--- a/hw/xwin/winmultiwindowwm.c
+++ b/hw/xwin/winmultiwindowwm.c
@@ -1618,10 +1618,10 @@ winDeinitMultiWindowWM(void)
}
/* Windows window styles */
-#define HINT_NOFRAME (1l<<0)
+#define HINT_NOFRAME (1L<<0)
#define HINT_BORDER (1L<<1)
-#define HINT_SIZEBOX (1l<<2)
-#define HINT_CAPTION (1l<<3)
+#define HINT_SIZEBOX (1L<<2)
+#define HINT_CAPTION (1L<<3)
#define HINT_NOMAXIMIZE (1L<<4)
#define HINT_NOMINIMIZE (1L<<5)
#define HINT_NOSYSMENU (1L<<6)
commit 46df614784cbbffcf6368859285e949010f1ceb8
Author: Colin Harrison <colin.harrison at virgin.net>
Date: Fri Mar 14 15:36:24 2014 +0000
hw/xwin: Remove an unneeded include
Signed-off-by: Colin Harrison <colin.harrison at virgin.net>
Reviewed-by: Jon TURNEY <jon.turney at dronecode.org.uk>
diff --git a/hw/xwin/winwin32rootless.c b/hw/xwin/winwin32rootless.c
index 0b62696..660a78f 100644
--- a/hw/xwin/winwin32rootless.c
+++ b/hw/xwin/winwin32rootless.c
@@ -39,7 +39,6 @@
#include <winuser.h>
#define _WINDOWSWM_SERVER_
#include <X11/extensions/windowswmstr.h>
-#include "dixevents.h"
#include "winmultiwindowclass.h"
#include <X11/Xatom.h>
commit d48749492dc492fd7430ffdfd29842153618f778
Author: Colin Harrison <colin.harrison at virgin.net>
Date: Fri Mar 14 15:34:04 2014 +0000
hw/xwin: Use boolean AND rather than bitwise AND in WIN_POLLING_MOUSE_TIMER_ID
For clarity, use boolean AND rather than bitwise AND in
WIN_POLLING_MOUSE_TIMER_ID processing.
Signed-off-by: Colin Harrison <colin.harrison at virgin.net>
Reviewed-by: Jon TURNEY <jon.turney at dronecode.org.uk>
diff --git a/hw/xwin/winwndproc.c b/hw/xwin/winwndproc.c
index c73a75c..bee223d 100644
--- a/hw/xwin/winwndproc.c
+++ b/hw/xwin/winwndproc.c
@@ -955,11 +955,11 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
wShift = (GetKeyState(VK_SHIFT) & 0x8000) ? MK_SHIFT : 0;
wCtrl = (GetKeyState(VK_CONTROL) & 0x8000) ? MK_CONTROL : 0;
lPos = MAKELPARAM(point.x, point.y);
- if (g_fButton[0] & !wL)
+ if (g_fButton[0] && !wL)
PostMessage(hwnd, WM_LBUTTONUP, wCtrl | wM | wR | wShift, lPos);
- if (g_fButton[1] & !wM)
+ if (g_fButton[1] && !wM)
PostMessage(hwnd, WM_MBUTTONUP, wCtrl | wL | wR | wShift, lPos);
- if (g_fButton[2] & !wR)
+ if (g_fButton[2] && !wR)
PostMessage(hwnd, WM_RBUTTONUP, wCtrl | wL | wM | wShift, lPos);
}
}
commit 80ac4a85d56130d09bbc72ed071759a361ded689
Author: Colin Harrison <colin.harrison at virgin.net>
Date: Fri Mar 14 15:23:16 2014 +0000
hw/xwin: Fix declaration after statement warning in ddxGiveUp()
Signed-off-by: Colin Harrison <colin.harrison at virgin.net>
Reviewed-by: Jon TURNEY <jon.turney at dronecode.org.uk>
diff --git a/hw/xwin/InitOutput.c b/hw/xwin/InitOutput.c
index 9413350..04015cd 100644
--- a/hw/xwin/InitOutput.c
+++ b/hw/xwin/InitOutput.c
@@ -271,10 +271,10 @@ ddxGiveUp(enum ExitCode error)
PostQuitMessage(0);
{
- winDebug("ddxGiveUp - Releasing termination mutex\n");
-
int iReturn = pthread_mutex_unlock(&g_pmTerminating);
+ winDebug("ddxGiveUp - Releasing termination mutex\n");
+
if (iReturn != 0) {
ErrorF("winMsgWindowProc - pthread_mutex_unlock () failed: %d\n",
iReturn);
commit cf59f4888e202c6a68176bd3de1f837ca8480370
Author: Colin Harrison <colin.harrison at virgin.net>
Date: Fri Mar 14 15:09:24 2014 +0000
hw/xwin: Fix typo in comment
Signed-off-by: Colin Harrison <colin.harrison at virgin.net>
Reviewed-by: Jon TURNEY <jon.turney at dronecode.org.uk>
diff --git a/hw/xwin/winmultiwindowwndproc.c b/hw/xwin/winmultiwindowwndproc.c
index abb87ee..2d57014 100644
--- a/hw/xwin/winmultiwindowwndproc.c
+++ b/hw/xwin/winmultiwindowwndproc.c
@@ -837,7 +837,7 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
break;
case WM_CLOSE:
- /* Removep AppUserModelID property */
+ /* Remove AppUserModelID property */
winSetAppUserModelID(hwnd, NULL);
/* Branch on if the window was killed in X already */
if (pWinPriv->fXKilled) {
commit 561bca469d3ade1ff14faddaf70bf12dcdc6aa74
Author: Jon TURNEY <jon.turney at dronecode.org.uk>
Date: Thu Mar 13 22:38:43 2014 +0000
hw/xwin: Fix const discarded warning in winGenerateAuthorization()
Fix const discarded warning in winGenerateAuthorization() in !XCSECURITY case
In function âwinGenerateAuthorizationâ:
hw/xwin/winauth.c:123:38: warning: passing argument 2 of âGenerateAuthorizationâ discards âconstâ qualifier from pointer target type [enabled by default]
hw/xwin/winauth.c:99:1: note: expected âchar *â but argument is of type âconst char *â
Signed-off-by: Jon TURNEY <jon.turney at dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison at virgin.net>
diff --git a/hw/xwin/winauth.c b/hw/xwin/winauth.c
index a6a7366..7efa1c0 100644
--- a/hw/xwin/winauth.c
+++ b/hw/xwin/winauth.c
@@ -97,9 +97,9 @@ MitGenerateCookie(unsigned data_length,
static
XID
GenerateAuthorization(unsigned name_length,
- char *name,
+ const char *name,
unsigned data_length,
- char *data,
+ const char *data,
unsigned *data_length_return, char **data_return)
{
return MitGenerateCookie(data_length, data,
More information about the xorg-commit
mailing list