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/MainWindow.cpp?rev=69650&r1=69649&r2=69650&view=diff
>> ==============================================================================
>> --- 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 set multiple 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/MainWindow.h?rev=69650&r1=69649&r2=69650&view=diff
>> ==============================================================================
>> --- 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