[Top][All Lists]
[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);
}
}