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/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