Mercurial > projects > dwt2
comparison org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/c/glx.d @ 49:7a2dd761a8b2
more work until dmd 2.026 linux segfaults.
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Fri, 27 Mar 2009 12:59:54 +0100 |
parents | f713da8bc051 |
children | fb3aa8075988 |
comparison
equal
deleted
inserted
replaced
48:ddbfe84d86df | 49:7a2dd761a8b2 |
---|---|
9 public import org.eclipse.swt.internal.c.Xutil; | 9 public import org.eclipse.swt.internal.c.Xutil; |
10 | 10 |
11 version=DYNLINK; | 11 version=DYNLINK; |
12 | 12 |
13 version(DYNLINK){ | 13 version(DYNLINK){ |
14 import tango.sys.SharedLib : SharedLib; | 14 import java.nonstandard.SharedLib; |
15 struct Symbol{ | |
16 String name; | |
17 void** symbol; | |
18 } | |
19 } | 15 } |
20 | 16 |
21 void loadLib(){ | 17 void loadLib(){ |
22 version(DYNLINK){ | 18 version(DYNLINK){ |
23 String libname = "libGL.so"; | 19 SharedLib.loadLibSymbols( symbols, "libGL.so" ); |
24 | |
25 SharedLib lib = SharedLib.load( libname ); | |
26 if( lib is null ){ | |
27 lib = SharedLib.load( libname ~ ".0" ); | |
28 } | |
29 | |
30 if ( lib !is null ) { | |
31 foreach( inout s; symbols ){ | |
32 try{ | |
33 *s.symbol = lib.getSymbol( s.name.ptr ); | |
34 } | |
35 catch(Exception e){} | |
36 if( *s.symbol is null ){ | |
37 getDwtLogger().trace( __FILE__, __LINE__, "{}: Symbol '{}' not found", libname, s.name ); | |
38 } | |
39 } | |
40 } else { | |
41 getDwtLogger().trace( __FILE__, __LINE__, "Could not load the library {}", libname ); | |
42 } | |
43 } | 20 } |
44 } | 21 } |
45 | 22 |
46 extern(C): | 23 extern(C): |
47 align(4): | 24 align(4): |