aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/hw/xwin/winmultiwindowwndproc.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2013-01-22 14:27:38 +0100
committermarha <marha@users.sourceforge.net>2013-01-22 14:27:38 +0100
commit7002c66cfba01e7d3b88dae498a195f78f0e83f5 (patch)
tree2fbbd202a6a4243f0e64a8b22e22417a609ae19d /xorg-server/hw/xwin/winmultiwindowwndproc.c
parent50c07563e17397daf040a32d8fdd3ab397e72371 (diff)
parent470f7ca9f0be348faf2f03fc16811844c5eeffce (diff)
downloadvcxsrv-7002c66cfba01e7d3b88dae498a195f78f0e83f5.tar.gz
vcxsrv-7002c66cfba01e7d3b88dae498a195f78f0e83f5.tar.bz2
vcxsrv-7002c66cfba01e7d3b88dae498a195f78f0e83f5.zip
Merge remote-tracking branch 'origin/released'
* origin/released: fontconfig libfontenc mesa mkfontscale pixman xserver xkeyboard-config Conflicts: mesalib/src/mesa/main/syncobj.c mesalib/src/mesa/main/syncobj.h xorg-server/hw/xwin/winconfig.c xorg-server/hw/xwin/winmultiwindowwndproc.c
Diffstat (limited to 'xorg-server/hw/xwin/winmultiwindowwndproc.c')
-rwxr-xr-x[-rw-r--r--]xorg-server/hw/xwin/winmultiwindowwndproc.c64
1 files changed, 30 insertions, 34 deletions
diff --git a/xorg-server/hw/xwin/winmultiwindowwndproc.c b/xorg-server/hw/xwin/winmultiwindowwndproc.c
index 7ceee11a5..abd7672cc 100644..100755
--- a/xorg-server/hw/xwin/winmultiwindowwndproc.c
+++ b/xorg-server/hw/xwin/winmultiwindowwndproc.c
@@ -46,6 +46,8 @@
#include "winmsg.h"
#include "inputstr.h"
+extern void winUpdateWindowPosition(HWND hWnd, HWND * zstyle);
+
#ifdef XKB
#ifndef XKB_IN_SERVER
#define XKB_IN_SERVER
@@ -53,7 +55,6 @@
#include <xkbsrv.h>
#endif
-extern void winUpdateWindowPosition(HWND hWnd, Bool reshape, HWND * zstyle);
/*
* Local globals
@@ -327,7 +328,7 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
static Bool s_fTracking = FALSE;
Bool needRestack = FALSE;
LRESULT ret;
- static Bool hasEnteredSizeMove = FALSE;
+ static Bool hasEnteredSizeMove = FALSE;
winDebugWin32Message("winTopLevelWindowProc", hwnd, message, wParam,
lParam);
@@ -863,41 +864,36 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
/* */
if (!pWin->overrideRedirect) {
+ HWND zstyle = HWND_NOTOPMOST;
+
/* Flag that this window needs to be made active when clicked */
SetProp(hwnd, WIN_NEEDMANAGE_PROP, (HANDLE) 1);
- if (!(GetWindowLongPtr(hwnd, GWL_EXSTYLE) & WS_EX_APPWINDOW)) {
- HWND zstyle = HWND_NOTOPMOST;
-
- /* Set the window extended style flags */
- SetWindowLongPtr(hwnd, GWL_EXSTYLE, WS_EX_APPWINDOW);
-
- /* Set the transient style flags */
- if (GetParent(hwnd))
- SetWindowLongPtr(hwnd, GWL_STYLE,
- WS_POPUP | WS_OVERLAPPED | WS_SYSMENU |
- WS_CLIPCHILDREN | WS_CLIPSIBLINGS);
- /* Set the window standard style flags */
- else
- SetWindowLongPtr(hwnd, GWL_STYLE,
- (WS_POPUP | WS_OVERLAPPEDWINDOW |
- WS_CLIPCHILDREN | WS_CLIPSIBLINGS)
- & ~WS_CAPTION & ~WS_SIZEBOX);
-
- winUpdateWindowPosition(hwnd, FALSE, &zstyle);
-
- {
- WinXWMHints hints;
-
- if (winMultiWindowGetWMHints(pWin, &hints)) {
- /*
- Give the window focus, unless it has an InputHint
- which is FALSE (this is used by e.g. glean to
- avoid every test window grabbing the focus)
- */
- if (!((hints.flags & InputHint) && (!hints.input))) {
- SetForegroundWindow(hwnd);
- }
+ /* Set the transient style flags */
+ if (GetParent(hwnd))
+ SetWindowLongPtr(hwnd, GWL_STYLE,
+ WS_POPUP | WS_OVERLAPPED | WS_SYSMENU |
+ WS_CLIPCHILDREN | WS_CLIPSIBLINGS);
+ /* Set the window standard style flags */
+ else
+ SetWindowLongPtr(hwnd, GWL_STYLE,
+ (WS_POPUP | WS_OVERLAPPEDWINDOW |
+ WS_CLIPCHILDREN | WS_CLIPSIBLINGS)
+ & ~WS_CAPTION & ~WS_SIZEBOX);
+
+ winUpdateWindowPosition(hwnd, &zstyle);
+
+ {
+ WinXWMHints hints;
+
+ if (winMultiWindowGetWMHints(pWin, &hints)) {
+ /*
+ Give the window focus, unless it has an InputHint
+ which is FALSE (this is used by e.g. glean to
+ avoid every test window grabbing the focus)
+ */
+ if (!((hints.flags & InputHint) && (!hints.input))) {
+ SetForegroundWindow(hwnd);
}
}
}