This is explained in Bug 4742:
https://bugs.mageia.org/show_bug.cgi?id=4742

But to summarize, xscreensaver-demo in Cauldron does not work, it comes up with 
an empty list of screensavers.  This list comes from reading the "programs" 
entry of the /etc/X11/app-defaults/XScreenSaver file, which is read using the 
XrmGetResource API of libX11.

XrmGetResource calls XrmQGetResource (in src/Xrm.c) which starts by doing:
if (db && db->linfo.lock && *names) {

and if that is false, it refuses to even try to read the entry from the 
app-defaults file.  I ran xscreensaver-demo in gdb, and db->linfo.lock is 0, so 
this doesn't work.  In Mageia 1, XrmQGetResource starts with:
if (db && *names) {

and although db->linfo.lock is still 0, it doesn't matter and it works.

Can we patch our libx11 to go back to the old way, or is there a better way to 
fix this?  I don't have a deep understanding of the meaning of this code.  
Maybe Thierry or someone else does?

Reply via email to