]> git.saurik.com Git - wxWidgets.git/commitdiff
fix undefined behaviour due to using shift variable twice in the same expression
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 25 Sep 2006 18:15:39 +0000 (18:15 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 25 Sep 2006 18:15:39 +0000 (18:15 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41443 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/cocoa/cursor.mm

index 23d5be6cbbc06aebda179a3e8b196df4239ae8ae..f5b548cc4283098632d93b114b8386afbfec9ac3 100644 (file)
@@ -212,8 +212,9 @@ NSCursor* wxGetStockCursor( short sIndex )
         //do the rest of those bits and alphas :)
         for (int shift = 0; shift < 32; ++shift)
         {
-            data[i] |= ( !!( (pCursor->mask[i] & (1 << (shift >> 1) )) ) ) << shift;
-            data[i] |= ( !( (pCursor->bits[i] & (1 << (shift >> 1) )) ) ) << ++shift;
+            const int bit = 1 << (shift >> 1);
+            data[i] |= ( !!( (pCursor->mask[i] & bit) ) ) << shift;
+            data[i] |= ( !( (pCursor->bits[i] & bit) ) ) << ++shift;
         }
     }