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):