diff options
Diffstat (limited to 'pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-gtkstyle.patch')
-rw-r--r-- | pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-gtkstyle.patch | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-gtkstyle.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-gtkstyle.patch new file mode 100644 index 00000000000..ad1719c46e2 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-gtkstyle.patch @@ -0,0 +1,50 @@ +Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/widgets/styles/qgtk2painter.cpp +=================================================================== +--- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/widgets/styles/qgtk2painter.cpp ++++ qt-everywhere-opensource-src-5.5.1/qtbase/src/widgets/styles/qgtk2painter.cpp +@@ -96,7 +96,7 @@ static void initGtk() + static bool initialized = false; + if (!initialized) { + // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0 +- QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0); ++ QLibrary libgtk(QLS("@gtk@/lib/libgtk-x11-2.0"), 0, 0); + + QGtk2PainterPrivate::gdk_pixmap_new = (Ptr_gdk_pixmap_new)libgtk.resolve("gdk_pixmap_new"); + QGtk2PainterPrivate::gdk_pixbuf_get_from_drawable = (Ptr_gdk_pixbuf_get_from_drawable)libgtk.resolve("gdk_pixbuf_get_from_drawable"); +Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/widgets/styles/qgtkstyle_p.cpp +=================================================================== +--- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/widgets/styles/qgtkstyle_p.cpp ++++ qt-everywhere-opensource-src-5.5.1/qtbase/src/widgets/styles/qgtkstyle_p.cpp +@@ -327,7 +327,7 @@ void QGtkStylePrivate::gtkWidgetSetFocus + void QGtkStylePrivate::resolveGtk() const + { + // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0 +- QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0); ++ QLibrary libgtk(QLS("@gtk@/lib/libgtk-x11-2.0"), 0, 0); + + gtk_init = (Ptr_gtk_init)libgtk.resolve("gtk_init"); + gtk_window_new = (Ptr_gtk_window_new)libgtk.resolve("gtk_window_new"); +@@ -425,8 +425,8 @@ void QGtkStylePrivate::resolveGtk() cons + pango_font_description_get_family = (Ptr_pango_font_description_get_family)libgtk.resolve("pango_font_description_get_family"); + pango_font_description_get_style = (Ptr_pango_font_description_get_style)libgtk.resolve("pango_font_description_get_style"); + +- gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("gnomeui-2"), 0, "gnome_icon_lookup_sync"); +- gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("gnomevfs-2"), 0, "gnome_vfs_init"); ++ gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("@libgnomeui@/lib/libgnomeui-2"), 0, "gnome_icon_lookup_sync"); ++ gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("@gnome_vfs@/lib/libgnomevfs-2"), 0, "gnome_vfs_init"); + } + + /* \internal +@@ -594,9 +594,9 @@ void QGtkStylePrivate::cleanupGtkWidgets + static bool resolveGConf() + { + if (!QGtkStylePrivate::gconf_client_get_default) { +- QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_default"); +- QGtkStylePrivate::gconf_client_get_string = (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_string"); +- QGtkStylePrivate::gconf_client_get_bool = (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_bool"); ++ QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_default"); ++ QGtkStylePrivate::gconf_client_get_string = (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_string"); ++ QGtkStylePrivate::gconf_client_get_bool = (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_bool"); + } + return (QGtkStylePrivate::gconf_client_get_default !=0); + } |