Blob Blame History Raw
diff -up kdebase-workspace-4.1.2/kdm/kfrontend/kgapp.cpp.orig kdebase-workspace-4.1.2/kdm/kfrontend/kgapp.cpp
--- kdebase-workspace-4.1.2/kdm/kfrontend/kgapp.cpp.orig	2008-10-31 14:23:05.000000000 +0100
+++ kdebase-workspace-4.1.2/kdm/kfrontend/kgapp.cpp	2008-10-31 14:25:23.000000000 +0100
@@ -248,8 +248,9 @@ kg_main( const char *argv0 )
 	gSendInt( G_Ready );
 
 	if (themer) {
-		QPixmap pm( app.desktop()->screen()->size() );
-		themer->paintBackground( &pm );
+		QPixmap pm( app.desktop()->size() );
+		for (int i = 0; i < app.desktop()->numScreens(); ++i)
+			themer->paintBackground( &pm, app.desktop()->screenGeometry(i) );
 		QPalette palette;
 		palette.setBrush( app.desktop()->backgroundRole(), QBrush( pm ) );
 		app.desktop()->setPalette( palette );
diff -up kdebase-workspace-4.1.2/kdm/kfrontend/themer/kdmthemer.cpp.orig kdebase-workspace-4.1.2/kdm/kfrontend/themer/kdmthemer.cpp
--- kdebase-workspace-4.1.2/kdm/kfrontend/themer/kdmthemer.cpp.orig	2008-10-31 14:21:32.000000000 +0100
+++ kdebase-workspace-4.1.2/kdm/kfrontend/themer/kdmthemer.cpp	2008-10-31 14:22:02.000000000 +0100
@@ -186,10 +186,9 @@ KdmThemer::widgetEvent( QEvent *e )
 }
 
 void
-KdmThemer::paintBackground( QPaintDevice *dev )
+KdmThemer::paintBackground( QPaintDevice *dev, const QRect &rect )
 {
 	debug() << "==== setting background geometry ====";
-	QRect rect( 0, 0, dev->width(), dev->height() );
 	QStack<QSize> ps;
 	rootItem->setGeometry( ps, rect, true );
 	QPainter p( dev );
diff -up kdebase-workspace-4.1.2/kdm/kfrontend/themer/kdmthemer.h.orig kdebase-workspace-4.1.2/kdm/kfrontend/themer/kdmthemer.h
--- kdebase-workspace-4.1.2/kdm/kfrontend/themer/kdmthemer.h.orig	2008-10-31 14:22:13.000000000 +0100
+++ kdebase-workspace-4.1.2/kdm/kfrontend/themer/kdmthemer.h	2008-10-31 14:22:50.000000000 +0100
@@ -29,6 +29,7 @@ class KdmItem;
 
 class QDomNode;
 class QPaintDevice;
+class QRect;
 
 /**
 * @author Unai Garro
@@ -69,7 +70,7 @@ public:
 	void setTypeVisible( const QString &t, bool show );
 	bool typeVisible( const QString &t ) { return m_showTypes.value( t, false ); }
 
-	void paintBackground( QPaintDevice *dev );
+	void paintBackground( QPaintDevice *dev, const QRect &rect );
 
 Q_SIGNALS:
 	void activated( const QString &id );