fenfire-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ff-cvs] libvob org/nongnu/libvob/gl/GLUtil.java org/non...


From: Tuomas J. Lukka
Subject: [ff-cvs] libvob org/nongnu/libvob/gl/GLUtil.java org/non...
Date: Fri, 12 Sep 2003 14:44:31 -0400

CVSROOT:        /cvsroot/libvob
Module name:    libvob
Branch:         
Changes by:     Tuomas J. Lukka <address@hidden>        03/09/12 14:44:31

Modified files:
        org/nongnu/libvob/gl: GLUtil.java MipzipLoader.java 
        src/os         : Os-GLX.cxx 

Log message:
        Arch sync

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/libvob/libvob/org/nongnu/libvob/gl/GLUtil.java.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/libvob/libvob/org/nongnu/libvob/gl/MipzipLoader.java.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/libvob/libvob/src/os/Os-GLX.cxx.diff?tr1=1.15&tr2=1.16&r1=text&r2=text

Patches:
Index: libvob/org/nongnu/libvob/gl/GLUtil.java
diff -u libvob/org/nongnu/libvob/gl/GLUtil.java:1.2 
libvob/org/nongnu/libvob/gl/GLUtil.java:1.3
--- libvob/org/nongnu/libvob/gl/GLUtil.java:1.2 Thu Sep 11 13:24:43 2003
+++ libvob/org/nongnu/libvob/gl/GLUtil.java     Fri Sep 12 14:44:31 2003
@@ -78,13 +78,26 @@
            pa("TEXTURE RELOADCOMPRESSED NOFORMAT!");
            return;
        }
+       boolean nonnull = false;
+       // Check that there was at least one non-null level!
+       for(int i=start; i<end; i++) {
+           if(backup[i] != null) 
+               nonnull = true;
+       }
+       if(! nonnull) {
+           throw new Error("Can't discard - no levels to load, would cause BIG 
trouble");
+       }
+
        GL.call("DeleteTextures "+tex.getTexId()+"\n");
        for(int i=start; i<end; i++) {
-           if(backup[i] == null)
-               throw new Error("Why is backup null!?!?");
-           tex.compressedTexImage(i,
-               texformat, sizes[2*i], sizes[2*i+1], 0,
-               backup[i]);
+           if(backup[i] == null) {
+               pa("Level null: "+i);
+               // throw new Error("Why is backup null!?!?");
+           } else {
+               tex.compressedTexImage(i,
+                   texformat, sizes[2*i], sizes[2*i+1], 0,
+                   backup[i]);
+           }
            backup[i] = null;
        }
        backup = null;
Index: libvob/org/nongnu/libvob/gl/MipzipLoader.java
diff -u libvob/org/nongnu/libvob/gl/MipzipLoader.java:1.8 
libvob/org/nongnu/libvob/gl/MipzipLoader.java:1.9
--- libvob/org/nongnu/libvob/gl/MipzipLoader.java:1.8   Thu Sep 11 13:24:43 2003
+++ libvob/org/nongnu/libvob/gl/MipzipLoader.java       Fri Sep 12 14:44:31 2003
@@ -388,7 +388,7 @@
            boolean wasGreater = currentBaseLevel > i+1;
            setBaseLevel(i+1);
            if(wasGreater)
-               AbstractUpdateManager.chgAfter(100);
+               AbstractUpdateManager.chgAfter(1000);
            return;
        }
     }
Index: libvob/src/os/Os-GLX.cxx
diff -u libvob/src/os/Os-GLX.cxx:1.15 libvob/src/os/Os-GLX.cxx:1.16
--- libvob/src/os/Os-GLX.cxx:1.15       Thu Aug 14 05:40:28 2003
+++ libvob/src/os/Os-GLX.cxx    Fri Sep 12 14:44:31 2003
@@ -780,13 +780,29 @@
            XEvent e;
            XNextEvent(dpy, &e);
            ret = true;
-           //cout << "getWindow\n";
-           LXWindow *w = windowsByX[e.xkey.window];
+           LXWindow *w = windowsByX[e.xany.window];
            if(!w) {
                DBG(dbg) << "Event for unknown window\n";
                continue;
            }
-           //cout << "deliver\n";
+           // Compress motion events to a single event.
+           // We may want to make this optional later on.
+           // Code inspired by window maker
+           if(e.type == MotionNotify) {
+               // See if there's another event coming...
+               while(XPending(dpy)) {
+                   XEvent tmp;
+                   XPeekEvent(dpy, &tmp);
+                   // ...that's also a motion event for the same ..
+                   if(tmp.type == MotionNotify &&
+                       tmp.xmotion.window == e.xmotion.window &&
+                       tmp.xmotion.subwindow == e.xmotion.subwindow) {
+                       // .. and replace the original event by it
+                       XNextEvent(dpy, &e);
+                   } else 
+                       break;
+               }
+           }
            w->deliverEvent(&e);
        }
     }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]