GL screensavers fail to load Mesa renderer add-on
The screensaver add-ons are properly linked against libGL. The libGL code tries to load the swrast add-on. But this fails because the BGLRenderer constructor (which is provided by libGL) is not found. It seems that when loading an add-on, libraries linked to by other add-ons (and not the app itself) are not searched to resolve symbols. To avoid this issue, we now link ScreenSaver and screen_blanker to libGL, so the GL renderer add-on can find it. Fixes #10206
This commit is contained in:
@@ -17,6 +17,7 @@ BinCommand screen_blanker :
|
|||||||
# link against libscreensaver.so
|
# link against libscreensaver.so
|
||||||
|
|
||||||
: be game localestub libscreensaver.so [ TargetLibsupc++ ]
|
: be game localestub libscreensaver.so [ TargetLibsupc++ ]
|
||||||
|
[ BuildFeatureAttribute mesa : library ]
|
||||||
: screen_blanker.rdef
|
: screen_blanker.rdef
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ UseHeaders [ FDirName $(HAIKU_TOP) headers os add-ons screen_saver ] : true ;
|
|||||||
UsePrivateHeaders screen_saver ;
|
UsePrivateHeaders screen_saver ;
|
||||||
SubDirSysHdrs $(SUBDIR) ;
|
SubDirSysHdrs $(SUBDIR) ;
|
||||||
|
|
||||||
Preference ScreenSaver :
|
Preference ScreenSaver :
|
||||||
ScreenSaverApp.cpp
|
ScreenSaverApp.cpp
|
||||||
ScreenSaverWindow.cpp
|
ScreenSaverWindow.cpp
|
||||||
PasswordWindow.cpp
|
PasswordWindow.cpp
|
||||||
@@ -19,7 +19,8 @@ Preference ScreenSaver :
|
|||||||
# needed for some old/broken screen saver add-ons that do not
|
# needed for some old/broken screen saver add-ons that do not
|
||||||
# link against libscreensaver.so
|
# link against libscreensaver.so
|
||||||
: be game libscreensaver.so localestub tracker [ TargetLibstdc++ ]
|
: be game libscreensaver.so localestub tracker [ TargetLibstdc++ ]
|
||||||
: ScreenSaver.rdef
|
[ BuildFeatureAttribute mesa : library ]
|
||||||
|
: ScreenSaver.rdef
|
||||||
;
|
;
|
||||||
|
|
||||||
SEARCH on [ FGristFiles
|
SEARCH on [ FGristFiles
|
||||||
|
|||||||
Reference in New Issue
Block a user