Author: dquintana
Date: Mon May 19 10:44:33 2014
New Revision: 63369
URL: http://svn.reactos.org/svn/reactos?rev=63369&view=rev
Log:
[EXPLORER-NEW]
* Default to always-on-top if the registry setting is not found.
* Reload and apply settings on display change. Fixes taskbar not repositioning on resolution changes.
CORE-7330
Modified:
branches/shell-experiments/base/shell/explorer-new/traywnd.c
Modified: branches/shell-experiments/base/shell/explorer-new/traywnd.c
URL: http://svn.reactos.org/svn/reactos/branches/shell-experiments/base/shell/ex…
==============================================================================
--- branches/shell-experiments/base/shell/explorer-new/traywnd.c [iso-8859-1] (original)
+++ branches/shell-experiments/base/shell/explorer-new/traywnd.c [iso-8859-1] Mon May 19 10:44:33 2014
@@ -768,15 +768,6 @@
/* FIXME: Are there more flags? */
- if (This->hWnd != NULL)
- SetWindowPos (This->hWnd,
- This->AlwaysOnTop ? HWND_TOPMOST : HWND_NOTOPMOST,
- 0,
- 0,
- 0,
- 0,
- SWP_NOMOVE | SWP_NOSIZE);
-
if (sr.Position > ABE_BOTTOM)
This->Position = ABE_BOTTOM;
else
@@ -794,6 +785,7 @@
else
{
This->Position = ABE_BOTTOM;
+ This->AlwaysOnTop = TRUE;
/* Use the minimum size of the taskbar, we'll use the start
button as a minimum for now. Make sure we calculate the
@@ -812,6 +804,15 @@
&rcScreen,
MONITOR_DEFAULTTOPRIMARY);
}
+
+ if (This->hWnd != NULL)
+ SetWindowPos(This->hWnd,
+ This->AlwaysOnTop ? HWND_TOPMOST : HWND_NOTOPMOST,
+ 0,
+ 0,
+ 0,
+ 0,
+ SWP_NOMOVE | SWP_NOSIZE);
/* Determine a minimum tray window rectangle. The "client" height is
zero here since we cannot determine an optimal minimum width when
@@ -2151,6 +2152,19 @@
switch (uMsg)
{
+ case WM_DISPLAYCHANGE:
+
+ /* Load the saved tray window settings */
+ ITrayWindowImpl_RegLoadSettings(This);
+
+ /* Move the tray window to the right position and resize it if neccessary */
+ ITrayWindowImpl_CheckTrayWndPosition(This);
+
+ /* Align all controls on the tray window */
+ ITrayWindowImpl_AlignControls(This, NULL);
+
+ break;
+
case WM_COPYDATA:
{
if (This->hwndTrayNotify)
Author: hbelusca
Date: Sun May 18 23:17:25 2014
New Revision: 63364
URL: http://svn.reactos.org/svn/reactos?rev=63364&view=rev
Log:
[KERNEL32]: Remove temporary DPRINTs and fix comments.
Modified:
trunk/reactos/dll/win32/kernel32/client/vdm.c
Modified: trunk/reactos/dll/win32/kernel32/client/vdm.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/client/…
==============================================================================
--- trunk/reactos/dll/win32/kernel32/client/vdm.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/client/vdm.c [iso-8859-1] Sun May 18 23:17:25 2014
@@ -99,8 +99,6 @@
return STATUS_INVALID_PARAMETER;
}
- DPRINT1("Before: ApplicationName = '%S' ; CommandLine = '%S'\n", ApplicationName, CommandLine);
-
/* Trim leading whitespace from ApplicationName */
while (*ApplicationName == L' ' || *ApplicationName == L'\t')
++ApplicationName;
@@ -164,7 +162,6 @@
* suppose that the first token corresponds to an application name and
* we skip it. Care should be taken when quotes are present in this token.
*/
-
if (*CommandLine)
{
/* The first part of CommandLine should be the ApplicationName... */
@@ -206,8 +203,6 @@
while (*CommandLine == L' ' || *CommandLine == L'\t')
++CommandLine;
- DPRINT1("After: ApplicationName = '%S' ; CommandLine = '%S'\n", ApplicationName, CommandLine);
-
/* Get the current directory */
if (CurrentDirectory == NULL)
{
@@ -290,7 +285,7 @@
}
/* Allocate memory for the ANSI strings */
- // We need to add the two newline characters '\r\n' to the command line
+ // We need to add the newline characters '\r\n' to the command line
AnsiCmdLine = (PCHAR)RtlAllocateHeap(RtlGetProcessHeap(), HEAP_ZERO_MEMORY, CheckVdm->CmdLen + 2);
AnsiAppName = (PCHAR)RtlAllocateHeap(RtlGetProcessHeap(), HEAP_ZERO_MEMORY, CheckVdm->AppLen);
AnsiCurDirectory = (PCHAR)RtlAllocateHeap(RtlGetProcessHeap(), HEAP_ZERO_MEMORY, CheckVdm->CurDirectoryLen);
@@ -324,7 +319,7 @@
CheckVdm->CmdLen,
NULL,
NULL);
- /* Add a needed newline '\r\n' and NULL-terminate */
+ /* Add the needed newline and NULL-terminate */
CheckVdm->CmdLen--; // Rewind back to the NULL character
AnsiCmdLine[CheckVdm->CmdLen++] = '\r';
AnsiCmdLine[CheckVdm->CmdLen++] = '\n';