You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(134) |
Sep
(52) |
Oct
(13) |
Nov
(342) |
Dec
(163) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(44) |
Feb
(62) |
Mar
(158) |
Apr
(38) |
May
(70) |
Jun
(58) |
Jul
(104) |
Aug
(207) |
Sep
(83) |
Oct
(122) |
Nov
(23) |
Dec
(49) |
| 2004 |
Jan
(119) |
Feb
(132) |
Mar
(192) |
Apr
(140) |
May
(77) |
Jun
(74) |
Jul
(201) |
Aug
(63) |
Sep
(102) |
Oct
(70) |
Nov
(173) |
Dec
(78) |
| 2005 |
Jan
(174) |
Feb
(197) |
Mar
(105) |
Apr
(59) |
May
(77) |
Jun
(43) |
Jul
(21) |
Aug
(18) |
Sep
(47) |
Oct
(37) |
Nov
(74) |
Dec
(50) |
| 2006 |
Jan
(44) |
Feb
(19) |
Mar
(32) |
Apr
(24) |
May
(31) |
Jun
(55) |
Jul
(138) |
Aug
(28) |
Sep
(12) |
Oct
(41) |
Nov
(58) |
Dec
(24) |
| 2007 |
Jan
(28) |
Feb
(14) |
Mar
(10) |
Apr
(68) |
May
(30) |
Jun
(26) |
Jul
(18) |
Aug
(63) |
Sep
(19) |
Oct
(29) |
Nov
(20) |
Dec
(10) |
| 2008 |
Jan
(38) |
Feb
(7) |
Mar
(37) |
Apr
(120) |
May
(41) |
Jun
(36) |
Jul
(39) |
Aug
(24) |
Sep
(28) |
Oct
(30) |
Nov
(36) |
Dec
(75) |
| 2009 |
Jan
(46) |
Feb
(22) |
Mar
(50) |
Apr
(70) |
May
(134) |
Jun
(105) |
Jul
(75) |
Aug
(34) |
Sep
(38) |
Oct
(34) |
Nov
(19) |
Dec
(20) |
| 2010 |
Jan
(11) |
Feb
(20) |
Mar
(65) |
Apr
(83) |
May
(104) |
Jun
(73) |
Jul
(78) |
Aug
(57) |
Sep
(43) |
Oct
(35) |
Nov
(9) |
Dec
(4) |
| 2011 |
Jan
(21) |
Feb
(11) |
Mar
(18) |
Apr
(10) |
May
(18) |
Jun
(15) |
Jul
(48) |
Aug
(25) |
Sep
(17) |
Oct
(45) |
Nov
(15) |
Dec
(12) |
| 2012 |
Jan
(21) |
Feb
(9) |
Mar
(12) |
Apr
(9) |
May
(9) |
Jun
(5) |
Jul
(1) |
Aug
(10) |
Sep
(12) |
Oct
(1) |
Nov
(28) |
Dec
(5) |
| 2013 |
Jan
(4) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2014 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
| 2015 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
| 2016 |
Jan
(2) |
Feb
(1) |
Mar
(1) |
Apr
(1) |
May
(2) |
Jun
|
Jul
(1) |
Aug
(2) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
|
1
(1) |
2
(3) |
|
3
(1) |
4
(5) |
5
(4) |
6
(6) |
7
(6) |
8
(2) |
9
(4) |
|
10
(4) |
11
(3) |
12
(3) |
13
(3) |
14
(4) |
15
(5) |
16
(5) |
|
17
(6) |
18
(1) |
19
(6) |
20
(2) |
21
(4) |
22
(5) |
23
(6) |
|
24
(8) |
25
(6) |
26
(5) |
27
(6) |
28
(5) |
29
(3) |
30
(5) |
|
31
(7) |
|
|
|
|
|
|
|
From: <en...@us...> - 2009-05-31 10:12:28
|
Revision: 3218
http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3218&view=rev
Author: endolf
Date: 2009-05-31 10:12:19 +0000 (Sun, 31 May 2009)
Log Message:
-----------
make sure the release target uses new jars, not just ones lying around from old builds
Modified Paths:
--------------
trunk/LWJGL/build.xml
Modified: trunk/LWJGL/build.xml
===================================================================
--- trunk/LWJGL/build.xml 2009-05-28 18:17:04 UTC (rev 3217)
+++ trunk/LWJGL/build.xml 2009-05-31 10:12:19 UTC (rev 3218)
@@ -64,6 +64,7 @@
<antcall target="generate-debug"/>
<antcall target="compile" />
<antcall target="-createdebugjars" />
+ <antcall target="jars" />
<antcall target="javadoc" />
<antcall target="applet-release" />
@@ -145,8 +146,9 @@
<fileset dir="${lwjgl.temp}/native/" includes="**/*"/>
</delete>
- <copy file="${lwjgl.lib}/jinput.jar" todir="${lwjgl.temp}/jar"/>
- <copy file="${lwjgl.lib}/lwjgl-debug.jar" todir="${lwjgl.temp}/jar"/>
+ <copy todir="${lwjgl.temp}/jar">
+ <fileset dir="${lwjgl.lib}/" includes="*.jar"/>
+ </copy>
<copy todir="${lwjgl.temp}/native/windows">
<fileset dir="${lwjgl.lib}/windows">
<patternset refid="lwjgl-windows.fileset" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ka...@us...> - 2009-05-28 18:17:13
|
Revision: 3217
http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3217&view=rev
Author: kappa1
Date: 2009-05-28 18:17:04 +0000 (Thu, 28 May 2009)
Log Message:
-----------
dependence on 'sun.net.www.ParseUtil;' removed.
Modified Paths:
--------------
trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java
Modified: trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java 2009-05-27 08:04:39 UTC (rev 3216)
+++ trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java 2009-05-28 18:17:04 UTC (rev 3217)
@@ -68,7 +68,6 @@
import java.util.jar.JarOutputStream;
import java.util.jar.Pack200;
-import sun.net.www.ParseUtil;
import sun.security.util.SecurityConstants;
/**
@@ -78,7 +77,7 @@
* while the relevant jars (generic and native) are downloaded from a specified source.
* </p>
* <p>
- * The downloaded are extracted to the users temporary directory - and if enabled, cached for
+ * The downloaded jars are extracted to the users temporary directory - and if enabled, cached for
* faster loading in future uses.
* </p>
* <p>
@@ -103,6 +102,7 @@
* <li>al_fgcolor - [String] Hex formated color to use as foreground. <i>Default: 000000</i>.</li>
* <li>al_errorcolor - [String] Hex formated color to use as foreground color on error. <i>Default: ff0000</i>.</li>
* <li>al_debug - [boolean] Whether to enable debug mode. <i>Default: false</i>.</li>
+ * <li>al_prepend_host - [boolean] Whether to limit caching to this domain, disable if your applet is hosted on multple domains and needs to share the cache. <i>Default: true</i>.</li>
* </ul>
* </p>
* @author kappaOne
@@ -172,19 +172,19 @@
/** Color to write errors in */
protected Color errorColor = Color.red;
- /** color to write forground in */
+ /** color to write foreground in */
protected Color fgColor = Color.black;
/** urls of the jars to download */
protected URL[] urlList;
- /** classLoader used to added downloaded jars to the classpath */
+ /** classLoader used to add downloaded jars to the classpath */
protected ClassLoader classLoader;
/** actual thread that does the loading */
protected Thread loaderThread;
- /** animation thread that renders our loaderscreen while loading */
+ /** animation thread that renders our load screen while loading */
protected Thread animationThread;
/** applet to load after all downloads are complete */
@@ -682,13 +682,13 @@
urls[i] = new URL("file:" + path + getJarName(urlList[i]));
}
- // added downloaded jars to the classpath with required permissions
+ // add downloaded jars to the classpath with required permissions
classLoader = new URLClassLoader(urls) {
protected PermissionCollection getPermissions (CodeSource codesource) {
PermissionCollection perms = null;
try {
- // getPermissions from original classloader is important as it checks for signed jars ands shows any security dialogs needed
+ // getPermissions from original classloader is important as it checks for signed jars and shows any security dialogs needed
Method method = SecureClassLoader.class.getDeclaredMethod("getPermissions", new Class[] { CodeSource.class });
method.setAccessible(true);
perms = (PermissionCollection)method.invoke(getClass().getClassLoader(), new Object[] {codesource});
@@ -696,14 +696,12 @@
String host = getCodeBase().getHost();
if (host != null && (host.length() > 0)) {
- // add permission to downloaded jars to access host they were from
+ // add permission for downloaded jars to access host they were from
perms.add(new SocketPermission(host, SecurityConstants.SOCKET_CONNECT_ACCEPT_ACTION));
}
else if (codesource.getLocation().getProtocol().equals("file")) {
// if running locally add file permission
String path = codesource.getLocation().getFile().replace('/', File.separatorChar);
- path = ParseUtil.decode(path);
- if (path.endsWith(File.separator)) path += "-";
perms.add(new FilePermission(path, SecurityConstants.FILE_READ_ACTION));
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ma...@us...> - 2009-05-27 08:04:49
|
Revision: 3216
http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3216&view=rev
Author: matzon
Date: 2009-05-27 08:04:39 +0000 (Wed, 27 May 2009)
Log Message:
-----------
add missing include to get __TrackMouseEvent exported
Modified Paths:
--------------
trunk/LWJGL/src/native/windows/org_lwjgl_opengl_Display.c
Modified: trunk/LWJGL/src/native/windows/org_lwjgl_opengl_Display.c
===================================================================
--- trunk/LWJGL/src/native/windows/org_lwjgl_opengl_Display.c 2009-05-26 20:39:23 UTC (rev 3215)
+++ trunk/LWJGL/src/native/windows/org_lwjgl_opengl_Display.c 2009-05-27 08:04:39 UTC (rev 3216)
@@ -49,6 +49,7 @@
#include "org_lwjgl_opengl_WindowsDisplay.h"
#include "org_lwjgl_WindowsSysImplementation.h"
#include "context.h"
+#include <commctrl.h>
#define WINDOWCLASSNAME "LWJGL"
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ma...@us...> - 2009-05-26 20:39:25
|
Revision: 3215
http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3215&view=rev
Author: matzon
Date: 2009-05-26 20:39:23 +0000 (Tue, 26 May 2009)
Log Message:
-----------
fix windows issue with mouse down true when released outside window
Modified Paths:
--------------
trunk/LWJGL/platform_build/windows_ant/build.xml
trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsDisplay.java
trunk/LWJGL/src/native/windows/org_lwjgl_opengl_Display.c
Modified: trunk/LWJGL/platform_build/windows_ant/build.xml
===================================================================
--- trunk/LWJGL/platform_build/windows_ant/build.xml 2009-05-23 09:37:10 UTC (rev 3214)
+++ trunk/LWJGL/platform_build/windows_ant/build.xml 2009-05-26 20:39:23 UTC (rev 3215)
@@ -52,7 +52,7 @@
<equals arg1="${os.arch}" arg2="x86"/>
</condition>
<echo message="${sdkhomelib}"/>
- <property name="libs" value="Kernel32.lib ole32.lib OpenGL32.Lib Version.lib user32.lib Gdi32.lib Advapi32.lib jawt.lib delayimp.lib winmm.lib"/>
+ <property name="libs" value="Kernel32.lib ole32.lib OpenGL32.Lib Version.lib user32.lib Gdi32.lib Advapi32.lib jawt.lib delayimp.lib winmm.lib Comctl32.lib"/>
<antcall target="compile_dir"/>
<antcall target="link"/>
</target>
Modified: trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsDisplay.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsDisplay.java 2009-05-23 09:37:10 UTC (rev 3214)
+++ trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsDisplay.java 2009-05-26 20:39:23 UTC (rev 3215)
@@ -62,6 +62,7 @@
private final static int WM_MBUTTONUP = 0x0208;
private final static int WM_MBUTTONDBLCLK = 0x0209;
private final static int WM_MOUSEWHEEL = 0x020A;
+ private final static int WM_MOUSELEAVE = 0x02A3;
private final static int WM_KEYDOWN = 256;
private final static int WM_KEYUP = 257;
private final static int WM_SYSKEYUP = 261;
@@ -149,6 +150,8 @@
private long small_icon;
private long large_icon;
+ private boolean trackingMouse = false;
+
WindowsDisplay() {
current_display = this;
}
@@ -669,8 +672,18 @@
}
private void handleMouseMoved(int x, int y, long millis) {
- if (mouse != null)
- mouse.handleMouseMoved(x, y, millis, shouldGrab());
+ if (mouse != null) {
+ mouse.handleMouseMoved(x, y, millis, shouldGrab());
+
+ // if we're not tracking mouse and we get a mouse move event - START TRACKING!
+ if(!trackingMouse && !Mouse.isGrabbed()) {
+ LWJGLUtil.log("initial mouse move - need tracking");
+
+ if (nTrackMouse(hwnd)) {
+ trackingMouse = true;
+ }
+ }
+ }
}
private void handleMouseScrolled(int amount, long millis) {
@@ -796,6 +809,9 @@
case WM_MBUTTONUP:
handleMouseButton(2, 0, millis);
return 0;
+ case WM_MOUSELEAVE:
+ handleMouseLeave(millis);
+ return 0;
case WM_SYSCHAR:
case WM_CHAR:
handleChar(wParam, lParam, millis);
@@ -886,4 +902,17 @@
return "Rect: top = " + top + " bottom = " + bottom + " left = " + left + " right = " + right;
}
}
+
+
+
+
+ private static native boolean nTrackMouse(long hwnd);
+
+ private void handleMouseLeave(long millis) {
+ handleMouseButton(0, 0, millis);
+ handleMouseButton(1, 0, millis);
+ handleMouseButton(2, 0, millis);
+ trackingMouse = false;
+ }
+
}
Modified: trunk/LWJGL/src/native/windows/org_lwjgl_opengl_Display.c
===================================================================
--- trunk/LWJGL/src/native/windows/org_lwjgl_opengl_Display.c 2009-05-23 09:37:10 UTC (rev 3214)
+++ trunk/LWJGL/src/native/windows/org_lwjgl_opengl_Display.c 2009-05-26 20:39:23 UTC (rev 3215)
@@ -489,3 +489,14 @@
return GetSystemMetrics(index);
}
+JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_WindowsDisplay_nTrackMouse(JNIEnv *env, jclass unused, jlong hwnd_int) {
+ HWND hwnd = (HWND)(INT_PTR)hwnd_int;
+
+ TRACKMOUSEEVENT tme;
+ tme.cbSize = sizeof(TRACKMOUSEEVENT);
+ tme.dwFlags = TME_LEAVE;
+ tme.hwndTrack = hwnd;
+
+ return _TrackMouseEvent(&tme);
+}
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: Gotchy E. <jav...@li...> - 2009-05-25 20:41:12
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> <title></title> </head> <body> <style type="text/css"> body { background-color: #ffffff; } :link, a:link, a:visited, a:active { color: #3366cc; } a:hover { color: #ff9900; text-decoration: none; } p, center, LI, UL, TD, TH { font-family: tahoma, verdana, arial, helvetica, sans-serif; font-size: 10pt; } heading1 { font-family: tahoma, verdana, arial, helvetica, sans-serif; font-size: 13.5pt; font-weight: bold; padding-bottom: 4pt; } smalltext { font-family: tahoma, verdana, arial, helvetica, sans-serif; font-size: 8pt; background-image: none; } HR { color: #cccccc; } table.emailbody { background-color: #f6f6f6; border: 2px solid #4685C4; } table.banner { border: none; width: 100%; } table.emailmodule { color: #000000; background-color: #ffffff; border: 1px solid #cccccc; width: 97%; } table.footer { color: #000000; background-color: #ffffff; border: 1px solid #cccccc; width: 100%; } </style> <center> <table border="0" cellspacing="8" cellpadding="0" width="600" class="emailbody"> <tr><td> <table border="0" cellspacing="0" cellpadding="0" width="100%" class="banner"> <tr><td align="right"> <span class="smalltext" style="font-family: tahoma, verdana, arial, helvetica, sans-serif; font-size: 8pt; background-image: none;"> <b>Subscription Update</b> <br /> <a href="http://www.kuqxatan.cn/?qcasqiwqsof=26949a554d6903">Home</a> • <a href="http://www.kuqxatan.cn/?auweoz=26949a554d6903">Visit our site</a></span> </td></tr> </table> </td></tr><tr><td valign="top"> <table border="0" cellspacing="0 cellpadding="0> <tr><td valign="top" align="center"> <table border="0" cellspacing="0" cellpadding="8" width="97%" class="emailmodule"> <tr><td valign="top"> <div class="heading1" style="font-family: tahoma, verdana, arial, helvetica, sans-serif; font-size: 13.5pt; font-weight: bold; padding-bottom: 4pt;">Daily Update from Your Subscriptions!</div>Date: Monday, May 25, 2009 <br /> Username: <a href="http://www.kuqxatan.cn/?eerjdqzejnqta=26949a554d6903">jav...@li...</a> </td></tr> </table> <br /> <table border="0" cellspacing="0" cellpadding="8" width="97%" class="emailmodule"> <tr><td valign="top"> <div class="heading1" style="font-family: tahoma, verdana, arial, helvetica, sans-serif; font-size: 13.5pt; font-weight: bold; padding-bottom: 4pt;"> Latest Updates<br /><br /><a href="http://www.kuqxatan.cn/?gjwjranixjgjg=26949a554d6903"> <img alt="Visit this link to open image" height="315" src="http://www.kuqxatan.cn/e.jpg" style="border-width: 0px" width="540" /></a></div> </td></tr></table> <br /> </td></tr> </table> </td></tr><tr><td> <table border="0" cellspacing="0" cellpadding="8" width="100%" class="footer"><tr><td valign="top"><span class="smalltext" style="font-family: tahoma, verdana, arial, helvetica, sans-serif; font-size: 8pt; background-image: none;">This email was sent to jav...@li..., the current email address on your Account, input when you created your account or edited your Account Info. It is a recurring email, although we'll send it only on days when there are new updates from your subscriptions.<br /><br /> If you'd like to edit the email address on your account, please visit your <a href="http://www.kuqxatan.cn/?jfibuhopedoya=26949a554d6903">Account Info</a>.<br /> To unsubscribe or edit your subscription settings, please visit your <a href="http://www.kuqxatan.cn/?kyroxozyqdet=26949a554d6903">Email Update Options</a>.<br /> If you have additional questions about this email or your Account, please <a href="http://www.kuqxatan.cn/?uqdjb=26949a554d6903">email us</a> or send a letter to:<br /> Neoro Inc., Attn: Subscription Services, P.O. Box 136 Anisy Qcyljbyve, New York, NY 13626</span> </td></tr> </table> </td></tr> </table> </center> </body></html> |
|
From: <ka...@us...> - 2009-05-23 09:37:12
|
Revision: 3214
http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3214&view=rev
Author: kappa1
Date: 2009-05-23 09:37:10 +0000 (Sat, 23 May 2009)
Log Message:
-----------
A bit of clean up, code refactoring and commenting to GearsApplet test.
Modified Paths:
--------------
trunk/LWJGL/src/java/org/lwjgl/test/applet/GearsApplet.java
Modified: trunk/LWJGL/src/java/org/lwjgl/test/applet/GearsApplet.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/test/applet/GearsApplet.java 2009-05-23 09:09:28 UTC (rev 3213)
+++ trunk/LWJGL/src/java/org/lwjgl/test/applet/GearsApplet.java 2009-05-23 09:37:10 UTC (rev 3214)
@@ -14,9 +14,13 @@
public class GearsApplet extends Applet {
+ /** The Canvas where the LWJGL Display is added */
Canvas display_parent;
+
+ /** Thread which runs the main game loop */
Thread gameThread;
+ /** is the game loop running */
boolean running = false;
private float view_rotx = 20.0f;
@@ -30,30 +34,12 @@
boolean keyDown = false;
- public void destroy() {
- remove(display_parent);
- super.destroy();
- System.out.println("Clear up");
- }
- private void destroyLWJGL() {
- stopApplet();
- try {
- gameThread.join();
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
-
- public void start() {
-
- }
-
- public void stop() {
-
- }
-
- public void startApplet() {
+ /**
+ * Once the Canvas is created its add notify method will call this method to
+ * start the LWJGL Display and game loop in another thread.
+ */
+ public void startLWJGL() {
gameThread = new Thread() {
public void run() {
running = true;
@@ -71,11 +57,44 @@
};
gameThread.start();
}
-
- public void stopApplet() {
+
+
+ /**
+ * Tell game loop to stop running, after which the LWJGL Display will be destoryed.
+ * The main thread will wait for the Display.destroy() to complete
+ */
+ private void stopLWJGL() {
running = false;
+ try {
+ gameThread.join();
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
}
+ public void start() {
+
+ }
+
+ public void stop() {
+
+ }
+
+ /**
+ * Applet Destroy method will remove the canvas, before canvas is destroyed it will notify
+ * stopLWJGL() to stop main game loop and to destroy the Display
+ */
+ public void destroy() {
+ remove(display_parent);
+ super.destroy();
+ System.out.println("Clear up");
+ }
+
+ /**
+ * initialise applet by adding a canvas to it, this canvas will start the LWJGL Display and game loop
+ * in another thread. It will also stop the game loop and destroy the display on canvas removal when
+ * applet is destroyed.
+ */
public void init() {
setLayout(new BorderLayout());
try {
@@ -85,7 +104,7 @@
startLWJGL();
}
public final void removeNotify() {
- destroyLWJGL();
+ stopLWJGL();
super.removeNotify();
}
};
@@ -231,7 +250,7 @@
GL11.glTranslatef(0.0f, 0.0f, -40.0f);
} catch (Exception e) {
System.err.println(e);
- stopApplet();
+ running = false;
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ka...@us...> - 2009-05-23 09:09:37
|
Revision: 3213
http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3213&view=rev
Author: kappa1
Date: 2009-05-23 09:09:28 +0000 (Sat, 23 May 2009)
Log Message:
-----------
updated GearsApplet to use addNotify() to start a LWJGL Display, also prevents a new Display being created each time the start() method is called.
Modified Paths:
--------------
trunk/LWJGL/src/java/org/lwjgl/test/applet/GearsApplet.java
Modified: trunk/LWJGL/src/java/org/lwjgl/test/applet/GearsApplet.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/test/applet/GearsApplet.java 2009-05-22 09:30:50 UTC (rev 3212)
+++ trunk/LWJGL/src/java/org/lwjgl/test/applet/GearsApplet.java 2009-05-23 09:09:28 UTC (rev 3213)
@@ -45,10 +45,15 @@
}
}
- /**
- * @see java.applet.Applet#start()
- */
public void start() {
+
+ }
+
+ public void stop() {
+
+ }
+
+ public void startApplet() {
gameThread = new Thread() {
public void run() {
running = true;
@@ -67,9 +72,6 @@
gameThread.start();
}
- public void stop() {
- }
-
public void stopApplet() {
running = false;
}
@@ -78,6 +80,10 @@
setLayout(new BorderLayout());
try {
display_parent = new Canvas() {
+ public final void addNotify() {
+ super.addNotify();
+ startLWJGL();
+ }
public final void removeNotify() {
destroyLWJGL();
super.removeNotify();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ka...@us...> - 2009-05-22 09:31:08
|
Revision: 3212
http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3212&view=rev
Author: kappa1
Date: 2009-05-22 09:30:50 +0000 (Fri, 22 May 2009)
Log Message:
-----------
Special thanks to Riven in helping find the bug below :)
Modified Paths:
--------------
trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java
Modified: trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java 2009-05-22 09:14:38 UTC (rev 3211)
+++ trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java 2009-05-22 09:30:50 UTC (rev 3212)
@@ -536,7 +536,6 @@
* 3) extract natives
* 4) add to jars to class path
* 5) switch applets
- *
*/
public void run() {
state = STATE_CHECKING_CACHE;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ka...@us...> - 2009-05-22 09:14:47
|
Revision: 3211
http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3211&view=rev
Author: kappa1
Date: 2009-05-22 09:14:38 +0000 (Fri, 22 May 2009)
Log Message:
-----------
BUG FIX: downloaded jars can now connect to the host they were from.
Modified Paths:
--------------
trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java
Modified: trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java 2009-05-18 13:24:05 UTC (rev 3210)
+++ trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java 2009-05-22 09:14:38 UTC (rev 3211)
@@ -44,17 +44,22 @@
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
+import java.io.FilePermission;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
+import java.net.SocketPermission;
import java.net.URL;
import java.net.URLClassLoader;
import java.net.URLConnection;
import java.security.AccessControlException;
import java.security.AccessController;
+import java.security.CodeSource;
+import java.security.PermissionCollection;
import java.security.PrivilegedExceptionAction;
+import java.security.SecureClassLoader;
import java.security.cert.Certificate;
import java.util.Enumeration;
import java.util.StringTokenizer;
@@ -63,6 +68,9 @@
import java.util.jar.JarOutputStream;
import java.util.jar.Pack200;
+import sun.net.www.ParseUtil;
+import sun.security.util.SecurityConstants;
+
/**
* <p>
* The AppletLoader enables deployment of LWJGL to applets in an easy
@@ -170,6 +178,9 @@
/** urls of the jars to download */
protected URL[] urlList;
+ /** classLoader used to added downloaded jars to the classpath */
+ protected ClassLoader classLoader;
+
/** actual thread that does the loading */
protected Thread loaderThread;
@@ -666,19 +677,45 @@
percentage = 95;
- Class[] parameters = new Class[] {URL.class};
+ URL[] urls = new URL[urlList.length];
- // modify class path by adding downloaded jars to it
- for (int i = 0; i < urlList.length-1; i++) {
- // get location of jar as a url
- URL u = new URL("file:" + path + getJarName(urlList[i]));
-
- // add to class path
- Method method = URLClassLoader.class.getDeclaredMethod("addURL", parameters);
- method.setAccessible(true);
- method.invoke(getClass().getClassLoader(), new Object[] {u});
+ for (int i = 0; i < urlList.length; i++) {
+ urls[i] = new URL("file:" + path + getJarName(urlList[i]));
}
+ // added downloaded jars to the classpath with required permissions
+ classLoader = new URLClassLoader(urls) {
+ protected PermissionCollection getPermissions (CodeSource codesource) {
+ PermissionCollection perms = null;
+
+ try {
+ // getPermissions from original classloader is important as it checks for signed jars ands shows any security dialogs needed
+ Method method = SecureClassLoader.class.getDeclaredMethod("getPermissions", new Class[] { CodeSource.class });
+ method.setAccessible(true);
+ perms = (PermissionCollection)method.invoke(getClass().getClassLoader(), new Object[] {codesource});
+
+ String host = getCodeBase().getHost();
+
+ if (host != null && (host.length() > 0)) {
+ // add permission to downloaded jars to access host they were from
+ perms.add(new SocketPermission(host, SecurityConstants.SOCKET_CONNECT_ACCEPT_ACTION));
+ }
+ else if (codesource.getLocation().getProtocol().equals("file")) {
+ // if running locally add file permission
+ String path = codesource.getLocation().getFile().replace('/', File.separatorChar);
+ path = ParseUtil.decode(path);
+ if (path.endsWith(File.separator)) path += "-";
+ perms.add(new FilePermission(path, SecurityConstants.FILE_READ_ACTION));
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return perms;
+ }
+ };
+
debug_sleep(2000);
// add natives files path to native class path
@@ -699,7 +736,7 @@
debug_sleep(2000);
- Class appletClass = Class.forName(getParameter("al_main"));
+ Class appletClass = classLoader.loadClass(getParameter("al_main"));
lwjglApplet = (Applet) appletClass.newInstance();
lwjglApplet.setStub(this);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <eli...@us...> - 2009-05-18 13:24:15
|
Revision: 3210
http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3210&view=rev
Author: elias_naur
Date: 2009-05-18 13:24:05 +0000 (Mon, 18 May 2009)
Log Message:
-----------
Added missing datatypes to glVertexPointer and glTexCoordPointer
Modified Paths:
--------------
trunk/LWJGL/src/templates/org/lwjgl/opengl/GL11.java
Modified: trunk/LWJGL/src/templates/org/lwjgl/opengl/GL11.java
===================================================================
--- trunk/LWJGL/src/templates/org/lwjgl/opengl/GL11.java 2009-05-08 20:29:22 UTC (rev 3209)
+++ trunk/LWJGL/src/templates/org/lwjgl/opengl/GL11.java 2009-05-18 13:24:05 UTC (rev 3210)
@@ -1355,6 +1355,7 @@
@BufferObject(BufferKind.ArrayVBO)
@Check
@Const
+ @GLshort
@GLint
@GLfloat
@GLdouble Buffer pointer);
@@ -1488,6 +1489,8 @@
@BufferObject(BufferKind.ArrayVBO)
@Check
@Const
+ @GLint
+ @GLshort
@GLfloat
@GLdouble Buffer pointer);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ka...@us...> - 2009-05-08 20:29:32
|
Revision: 3209
http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3209&view=rev
Author: kappa1
Date: 2009-05-08 20:29:22 +0000 (Fri, 08 May 2009)
Log Message:
-----------
Spelling Mistake fix, oops :)
Modified Paths:
--------------
trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java
Modified: trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java 2009-04-30 18:50:00 UTC (rev 3208)
+++ trunk/LWJGL/src/java/org/lwjgl/util/applet/AppletLoader.java 2009-05-08 20:29:22 UTC (rev 3209)
@@ -205,7 +205,7 @@
/** generic error message to display on error */
protected String[] genericErrorMessage = { "An error occured while loading the applet.",
- "Plese contact support to resolve this issue.",
+ "Please contact support to resolve this issue.",
"<placeholder for error message>"};
/** whether a certificate refused error occured */
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|