]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/opengl/penguin/lw.cpp
Modified Files:
[wxWidgets.git] / samples / opengl / penguin / lw.cpp
index e7bfe17843c42d5078ed2b6ee2c0737b57d03ef1..957f18aa0814c45d10b189dd4fa6a6e731fda9f3 100644 (file)
 #include <stdio.h>
 #include <math.h>
 
 #include <stdio.h>
 #include <math.h>
 
+#if !defined(__WXMAC__) || defined(__DARWIN__)
+// these must be defined in the precompiled headers under CodeWarrior
 #define wxInt32 int
 #define wxUint32 unsigned int
 #define wxInt32 int
 #define wxUint32 unsigned int
+#endif
 
 #ifndef FALSE
 #define FALSE 0
 
 #ifndef FALSE
 #define FALSE 0
@@ -57,12 +60,23 @@ static wxInt32 read_char(FILE *f)
 
 static wxInt32 read_short(FILE *f)
 {
 
 static wxInt32 read_short(FILE *f)
 {
-  return (read_char(f)<<8) | read_char(f);
+    // the execution path was not always correct
+    // when using the direct evaluation in the return statement
+    wxInt32 first = read_char(f) ;
+    wxInt32 second = read_char(f) ;
+    
+  return (first<<8) | second ;
 }
 
 static wxInt32 read_long(FILE *f)
 {
 }
 
 static wxInt32 read_long(FILE *f)
 {
-  return (read_char(f)<<24) | (read_char(f)<<16) | (read_char(f)<<8) | read_char(f);
+    // the execution path was not always correct
+    // when using the direct evaluation in the return statement
+    wxInt32 first = read_char(f) ;
+    wxInt32 second = read_char(f) ;
+    wxInt32 third = read_char(f) ;
+    wxInt32 fourth = read_char(f) ;
+  return (first<<24) | (second<<16) | (third<<8) | fourth ;
 }
 
 static GLfloat read_float(FILE *f)
 }
 
 static GLfloat read_float(FILE *f)