Review Request: Fix for bug 264444: ksplashx shows garbage when background image does not properly cover entire screen

Christoph Feck christoph at maxiom.de
Thu Mar 17 23:19:58 GMT 2011



> On March 17, 2011, 10:28 p.m., Oswald Buddenhagen wrote:
> > the root problem is that the image does not cover the background entirely, and therefore *that* should be fixed instead of coming up with workarounds to disguise it. i made some pretty sophisticated cropping/scaling code in kdm/kfrontend/themer/kdmpixmap.cpp (findBestPixmap()). ideally, that code would be transplanted to plasma as well.

Agreed. A full image.fill() only slows down the startup process, so ideally the graphics should be fixed. AT LEAST make sure that only the small uncovered region is cleared by one or two QPainter::fillRect().


- Christoph


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/100520/#review2024
-----------------------------------------------------------


On March 17, 2011, 10:08 a.m., Ivo Anjo wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/100520/
> -----------------------------------------------------------
> 
> (Updated March 17, 2011, 10:08 a.m.)
> 
> 
> Review request for KDE Base Apps and KDE Runtime.
> 
> 
> Summary
> -------
> 
> *Bump*: Can someone take a look at this? The patch is quite small, and I haven't seen any problems while using it on multiple computers...
> 
> The background pixmap/qimage is never initialized, so if for some reason the splashscreen doesn't cover the entire screen, you get garbage. 
> 
> That reason can be a ksplashx theme that does not use multiple monitors on a multi-monitor system, or if it picks a background that is smaller than the current resolution (for example the Horos splash 1280x1024 version appears to be 1278x1024).
> 
> 
> This addresses bug 264444.
>     http://bugs.kde.org/show_bug.cgi?id=264444
> 
> 
> Diffs
> -----
> 
>   ksplash/ksplashx/splash.cpp d6a992a 
> 
> Diff: http://git.reviewboard.kde.org/r/100520/diff
> 
> 
> Testing
> -------
> 
> I tested this by both replacing the background that ksplashx was using with a smaller one, and on two multi-monitor systems (one of which uses a gentoo ksplash screen that only covered one of the monitors).
> 
> The splash_image.fill( 0 ) can be changed to another color for debugging purposes, clearly showing the region of the monitor that is not covered by the splashscreen (and where before would be garbage from graphics memory).
> 
> To test this:
> # Get a ksplashx theme, for example
> git clone git://anongit.kde.org/kde-workspace
> # Create ksplashx theme directory
> mkdir -p `kde4-config --localprefix`/share/apps/ksplash/Themes/
> # Copy theme
> mv kde-workspace/ksplash/ksplashx/themes/default/ `kde4-config --localprefix`/share/apps/ksplash/Themes/
> # Change the wallpaper (copy a smaller wallpaper on top of your screen resolution)
> cd `kde4-config --localprefix`/share/apps/ksplash/Themes/
> mv default/1024x768/background.png default/1920x1080/background.png
> # Run ksplashx
> ksplashx default --test
> 
> You should see a corrupted screen, similar to the one below, probably with fragments of windows you recently had on your screen.
> 
> 
> Screenshots
> -----------
> 
> Example screenshot when background image does not fully cover the screen, on a dual 1280x1024 machine.
>   http://git.reviewboard.kde.org/r/100520/s/70/
> 
> 
> Thanks,
> 
> Ivo
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20110317/2c8bb6fa/attachment.htm>


More information about the kde-core-devel mailing list