Bug 146154

Summary: downloaded wallpaper not found by login manager
Product: [Unmaintained] kdm Reporter: Olivier Vitrat <ovit.debian>
Component: generalAssignee: kdm bugs tracker <kdm-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: montel, smileaf
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Debian stable   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Olivier Vitrat 2007-05-30 15:41:01 UTC
Version:            (using KDE KDE 3.5.5)
Installed from:    Debian stable Packages

Reported in Debian BTS at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=410635

Opened control center as regular user, clicked on System Adm.,
Login Mgr., switched to admin mode, downloaded KDE Ice Age
wallpaper, it was saved in /root/.kde/share/wallpapers, IIRC.
Chose it among all the wallpapers to select as background---I
think at this point it was named "Created by Gimp" or something
like that. Preview was showing it alright.
Clicked Apply, OK, etc., restarted KDE---no wallpaper.

Again as regular user went into Control Center, it showed
the preview. Moved the wallpaper to my regular user's directory
where I keep images, now it shows up with the correct name
in the wallpaper choice-list, and can be used as background
for the login manager.

No big deal, of course, but still a bug. Thanks.
Comment 1 Oswald Buddenhagen 2007-06-03 13:57:23 UTC
this is very similar to downloading themes (i wouldn't be surprised if theming is affected, too). stephen, do you want to take care of this?
Comment 2 Stephen Leaf 2007-06-03 18:26:48 UTC
Actually this is completely unrelated to themes, With theming I have it directly extracting it to the global directory same as if you were to manually install it.
I think what is happening here is when loading the background I found this:
kdebase/workspace/kcontrol/background/bgsettings.cpp KBackgroundSettings::setWallpaperList(const QStringList):671-692

KStandardDirs *d = KGlobal::dirs();
QString rpath = d->relativeLocation("wallpaper", *it);
m_WallpaperList.append( !rpath.isEmpty() ? rpath : *it );

So what might be happening is kdm is looking for a wallpaper resource named default_blue.jpg in the case of 3.5 and being there should be no user yet (no kde session? or perhaps a different user than root is running kdm?) the wallpaper name is not found. What we could do is have it always save the full path this would eliminate the possibility. However I'm not sure why the author choose to do a relative path in the first place?

kdm/backgroundrc
[Desktop0]
Wallpaper=default_blue.jpg
Comment 3 Josef Spillner 2007-06-25 11:06:53 UTC
We're working on making it possible to have system-wide wallpaper downloads so they will then be found by all users and by applications outside of user scope such as KDM.
Comment 4 Oswald Buddenhagen 2009-10-11 11:44:33 UTC
SVN commit 1033830 by ossi:

download wallpapers to system location, otherwise kdm won't find them.

BUG: 146154


 M  +1 -0      background.knsrc  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1033830