]> Dogcows Code - chaz/openbox/blobdiff - render/image.c
copy paste bug of course
[chaz/openbox] / render / image.c
index 7e29aa6e756d8a579c2d9facbfc94dcb9a4ca49f..393afe84973babece9e74a974ae9104992323b32 100644 (file)
@@ -1,3 +1,21 @@
+/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
+
+   image.c for the Openbox window manager
+   Copyright (c) 2003        Ben Jansens
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   See the COPYING file for a copy of the GNU General Public License.
+*/
+
 #include "geom.h"
 #include "image.h"
 #include "color.h"
@@ -115,12 +133,15 @@ void RrImageDraw(RrPixel32 *target, RrTextureRGBA *rgba,
 
     /* keep the ratio */
     dw = area->width;
-    dh = (int)(dw * ((double)sh / sw));
+    dh = (gint)(dw * ((gdouble)sh / sw));
     if (dh > area->height) {
         dh = area->height;
-        dw = (int)(dh * ((double)sw / sh));
+        dw = (gint)(dh * ((gdouble)sw / sh));
     }
 
+    if (!(dw && dh))
+        return; /* XXX sanity check */
+
     if (sw != dw || sh != dh) {
         /*if (!(rgba->cache && dw == rgba->cwidth && dh == rgba->cheight))*/ {
             g_free(rgba->cache);
This page took 0.025467 seconds and 4 git commands to generate.