]> git.mxchange.org Git - simgear.git/blobdiff - simgear/misc/CSSBorder.cxx
cppbind: automatic conversion of SGReferenced derived pointers.
[simgear.git] / simgear / misc / CSSBorder.cxx
index cf4dd9e77dc7b22c275c2165847b3fc1636da921..e15828d6fb186e8549c47262ecfb9fc0b5352dab 100644 (file)
@@ -50,26 +50,34 @@ namespace simgear
   //----------------------------------------------------------------------------
   CSSBorder::Offsets CSSBorder::getRelOffsets(const SGRect<int>& dim) const
   {
-    Offsets ret;
+    Offsets ret = {{0}};
+    if( !valid )
+      return ret;
+
     for(int i = 0; i < 4; ++i)
     {
       ret.val[i] = offsets.val[i];
       if( !types.rel[i] )
-        ret.val[i] /= (i & 1) ? dim.height() : dim.width();
+        ret.val[i] /= (i & 1) ? dim.width() : dim.height();
     }
+
     return ret;
   }
 
   //----------------------------------------------------------------------------
   CSSBorder::Offsets CSSBorder::getAbsOffsets(const SGRect<int>& dim) const
   {
-    Offsets ret;
+    Offsets ret = {{0}};
+    if( !valid )
+      return ret;
+
     for(int i = 0; i < 4; ++i)
     {
       ret.val[i] = offsets.val[i];
       if( types.rel[i] )
-        ret.val[i] *= (i & 1) ? dim.height() : dim.width();
+        ret.val[i] *= (i & 1) ? dim.width() : dim.height();
     }
+
     return ret;
   }