summarylogtreecommitdiffstats
path: root/004-fix-gdk-gdkglshapes.c.patch
blob: 36f27f738472c93463d4db974641099128da14eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
--- a/gdk/x11/gdkglquery-x11.c
+++ b/gdk/x11/gdkglquery-x11.c
@@ -356,7 +356,7 @@
 {
   typedef GdkGLProc (*__glXGetProcAddressProc) (const GLubyte *);
   static __glXGetProcAddressProc glx_get_proc_address = (__glXGetProcAddressProc) -1;
-  gchar *file_name;
+  gchar *file_name, *file_name_2;
   GModule *module;
   GdkGLProc proc_address = NULL;
 
@@ -371,12 +371,28 @@
            */
 
           file_name = g_module_build_path (NULL, "GL");
+          file_name_2 = NULL;
+          if( file_name )
+            file_name_2 = g_malloc( strlen( file_name ) + 3 );
+          module = NULL;
+          if( file_name_2 )
+          {
+            strcpy( file_name_2, file_name );
+            strcat( file_name_2, ".1" );
+            GDK_GL_NOTE (MISC, g_message (" - Open %s", file_name_2));
+            module = g_module_open (file_name_2, G_MODULE_BIND_LAZY);
+            g_free (file_name_2);
+            file_name_2 = NULL;
+          }
+          if( ! module )
+          {
           GDK_GL_NOTE (MISC, g_message (" - Open %s", file_name));
           module = g_module_open (file_name, G_MODULE_BIND_LAZY);
-          g_free (file_name);
+          }
 
           if (module != NULL)
             {
+              g_free (file_name);
               g_module_symbol (module, "glXGetProcAddress",
                                (gpointer) &glx_get_proc_address);
               if (glx_get_proc_address == NULL)
@@ -396,6 +412,7 @@
           else
             {
               g_warning ("Cannot open %s", file_name);
+              g_free (file_name);
               glx_get_proc_address = NULL;
               return NULL;
             }
@@ -416,12 +433,28 @@
 
       /* libGL */
       file_name = g_module_build_path (NULL, "GL");
+      file_name_2 = NULL;
+      if( file_name )
+        file_name_2 = g_malloc( strlen( file_name ) + 3 );
+      module = NULL;
+      if( file_name_2 )
+      {
+        strcpy( file_name_2, file_name );
+        strcat( file_name_2, ".1" );
+        GDK_GL_NOTE (MISC, g_message (" - Open %s", file_name_2));
+        module = g_module_open (file_name_2, G_MODULE_BIND_LAZY);
+        g_free (file_name_2);
+        file_name_2 = NULL;
+      }
+      if( ! module )
+      {
       GDK_GL_NOTE (MISC, g_message (" - Open %s", file_name));
       module = g_module_open (file_name, G_MODULE_BIND_LAZY);
-      g_free (file_name);
+      }
 
       if (module != NULL)
         {
+          g_free (file_name);
           g_module_symbol (module, proc_name, (gpointer) &proc_address);
           GDK_GL_NOTE (MISC, g_message (" - g_module_symbol () - %s",
                                         proc_address ? "succeeded" : "failed"));
@@ -430,6 +463,7 @@
       else
         {
           g_warning ("Cannot open %s", file_name);
+          g_free (file_name);
         }
 
       if (proc_address == NULL)