[ros-dev] [ros-diffs] [gedmurphy] 69650: The c++ bool is 1 byte, not 4. Thanks Thomas
Javier Agustìn Fernàndez Arroyo
elhoir at gmail.com
Tue Nov 3 11:57:09 UTC 2015
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 at 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 at 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 at reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.reactos.org/pipermail/ros-dev/attachments/20151103/09097572/attachment.html>
More information about the Ros-dev
mailing list