i thought it was 1 bit, not 1 byte... thanks for correcting my mistake :)
On Tue, Nov 3, 2015 at 10:00 AM, Thomas Faber thomas.faber@reactos.org wrote:
It makes a difference because m_RefreshPending was initialized to 0 by the constructor, but the three bytes behind it were not, so the first cmpxchg could fail. Plus of course if someone decided to add another bool or a char array or whatever at the end, that would get overwritten.
On 2015-11-03 00:21, Timo Kreuzer wrote:
In fact in this case it wouldn't make a difference, since the bool would be converted to a LONG. But using TRUE/FALSE seems to be appropriate
here.
Am 22.10.2015 um 19:37 schrieb gedmurphy@svn.reactos.org:
Author: gedmurphy Date: Thu Oct 22 17:37:51 2015 New Revision: 69650
URL: http://svn.reactos.org/svn/reactos?rev=69650&view=rev Log: The c++ bool is 1 byte, not 4. Thanks Thomas
Modified: trunk/reactos/dll/win32/devmgr/devmgmt/MainWindow.cpp trunk/reactos/dll/win32/devmgr/devmgmt/MainWindow.h
Modified: trunk/reactos/dll/win32/devmgr/devmgmt/MainWindow.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/devmgr/devmgmt/Ma...
==============================================================================
--- trunk/reactos/dll/win32/devmgr/devmgmt/MainWindow.cpp
[iso-8859-1] (original)
+++ trunk/reactos/dll/win32/devmgr/devmgmt/MainWindow.cpp
[iso-8859-1] Thu Oct 22 17:37:51 2015
@@ -786,7 +786,7 @@ // we set a timer to run in 500ms, which should leave
enough time for all
// the messages to come through. Wrap so we don't setmultiple timers
//
if (InterlockedCompareExchange((LONG*)&This->m_RefreshPending, true, false) == false)
if (InterlockedCompareExchange((LONG*)&This->m_RefreshPending, TRUE, FALSE) == FALSE)
{ SetTimer(hwnd, REFRESH_TIMER, 500, NULL); }@@ -807,7 +807,7 @@ KillTimer(hwnd, REFRESH_TIMER);
// Allow more change notifications
InterlockedExchange((LONG *)&This->m_RefreshPending,false);
InterlockedExchange((LONG *)&This->m_RefreshPending,FALSE);
} break; }Modified: trunk/reactos/dll/win32/devmgr/devmgmt/MainWindow.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/devmgr/devmgmt/Ma...
==============================================================================
--- trunk/reactos/dll/win32/devmgr/devmgmt/MainWindow.h
[iso-8859-1] (original)
+++ trunk/reactos/dll/win32/devmgr/devmgmt/MainWindow.h
[iso-8859-1] Thu Oct 22 17:37:51 2015
@@ -17,7 +17,7 @@ HMENU m_hMenu; HMENU m_hActionMenu; int m_CmdShow;
- bool m_RefreshPending;
BOOL m_RefreshPending;
public: CDeviceManager(void);
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev