summaryrefslogtreecommitdiffstats
path: root/mandriva/2010.2/other/ksplash-engine-moodin
diff options
context:
space:
mode:
authorTim Williams <tmw@autotrain.org>2011-10-17 18:47:27 +0100
committerTim Williams <tmw@autotrain.org>2011-10-17 18:47:27 +0100
commit76ef832ce5348d12a871223d4c034c7daeaddb82 (patch)
tree7024a1f39a6114daa8c5ed24bb31a8687c832b9a /mandriva/2010.2/other/ksplash-engine-moodin
parentec2515f058c60d2478a549f58376db628ba556b9 (diff)
downloadtde-packaging-76ef832ce5348d12a871223d4c034c7daeaddb82.tar.gz
tde-packaging-76ef832ce5348d12a871223d4c034c7daeaddb82.zip
Adding the remaining Mandriva patches and spec files
Diffstat (limited to 'mandriva/2010.2/other/ksplash-engine-moodin')
-rw-r--r--mandriva/2010.2/other/ksplash-engine-moodin/kde3-ksplash-engine-moodin.spec192
-rw-r--r--mandriva/2010.2/other/ksplash-engine-moodin/moodin-0.4.2-fix-bug.patch79
-rw-r--r--mandriva/2010.2/other/ksplash-engine-moodin/moodin-0.4.2-memleak-bug.patch15
-rw-r--r--mandriva/2010.2/other/ksplash-engine-moodin/moodin-autoconf.patch31
-rw-r--r--mandriva/2010.2/other/ksplash-engine-moodin/moodin-automake.patch12
-rw-r--r--mandriva/2010.2/other/ksplash-engine-moodin/moodin-drawing_and_scaling_fixes.patch144
-rw-r--r--mandriva/2010.2/other/ksplash-engine-moodin/moodin-external_svgrender.patch51
-rw-r--r--mandriva/2010.2/other/ksplash-engine-moodin/moodin-fix-svg.patch67
-rw-r--r--mandriva/2010.2/other/ksplash-engine-moodin/moodin-fix_drawing_on_compiz.patch67
-rw-r--r--mandriva/2010.2/other/ksplash-engine-moodin/moodin-fix_svg_on_base_resolution.patch12
-rw-r--r--mandriva/2010.2/other/ksplash-engine-moodin/moodin-kdehome-kde3.patch48
-rw-r--r--mandriva/2010.2/other/ksplash-engine-moodin/moodin-use-label-offset.patch29
-rw-r--r--mandriva/2010.2/other/ksplash-engine-moodin/moodinkde-use-svg.patch138
-rw-r--r--mandriva/2010.2/other/ksplash-engine-moodin/svgrender.tar.bz2bin0 -> 1025 bytes
14 files changed, 885 insertions, 0 deletions
diff --git a/mandriva/2010.2/other/ksplash-engine-moodin/kde3-ksplash-engine-moodin.spec b/mandriva/2010.2/other/ksplash-engine-moodin/kde3-ksplash-engine-moodin.spec
new file mode 100644
index 000000000..5a631cc79
--- /dev/null
+++ b/mandriva/2010.2/other/ksplash-engine-moodin/kde3-ksplash-engine-moodin.spec
@@ -0,0 +1,192 @@
+%define oldname ksplash-engine-moodin
+Name: kde3-%{oldname}
+Version: 0.4.2
+Release: %mkrel 19
+Summary: Splash Screen Engine for KDE3
+License: GPL
+URL: http://moodwrod.com/
+Group: Graphical desktop/KDE3
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
+Source: http://moodwrod.com/files/%{oldname}_0.4.2.tar.bz2
+# a Qt4 based Svg render to be used in moodin
+Source1: svgrender.tar.bz2
+Patch1: moodin-autoconf.patch
+Patch2: moodin-0.4.2-fix-bug.patch
+Patch3: moodin-0.4.2-memleak-bug.patch
+Patch4: moodinkde-use-svg.patch
+Patch5: moodin-use-label-offset.patch
+Patch6: moodin-fix-svg.patch
+Patch7: moodin-automake.patch
+Patch8: moodin-external_svgrender.patch
+Patch9: moodin-fix_drawing_on_compiz.patch
+Patch10: moodin-drawing_and_scaling_fixes.patch
+Patch11: moodin-fix_svg_on_base_resolution.patch
+Patch12: kde-3.5.10-acinclude.patch
+Patch13: moodin-kdehome-kde3.patch
+BuildRequires: kde3-macros
+BuildRequires: libkde3base4-devel
+BuildRequires: art_lgpl-devel
+# for the svgrender
+BuildRequires: qt4-devel
+%if %mdkversion < 201000
+BuildRequires: autoconf <= 1:2.63
+%else
+BuildRequires: autoconf >= 1:2.65
+%endif
+BuildRequires: automake >= 1.6.1
+Obsoletes: %{oldname}
+Provides: %{oldname}
+
+%description
+Splash Screen Engine for KDE3
+Heavily customizable engine for various types of themes
+
+FEATURES:
+- Scale cache
+- Fading images
+- Use current icon set or custom images
+- Unlimited Custom text labels
+- Set fading delay and length
+- Custom image arrangement
+- Resolution independent themes
+
+
+%prep
+rm -rf %buildroot
+
+%setup -q -n moodin -a1
+
+%patch1 -p1 -b .autoconf
+%patch2 -p1 -b .fix_bug
+%patch3 -p1 -b .fix_mem_leak
+%patch4 -p1 -b .use_svg
+%patch5 -p1 -b .use_status_offset
+%patch6 -p1 -b .fix_svg
+%patch7 -p1 -b .automake
+%patch8 -p1 -b .external_svgrender
+%patch9 -p1 -b .fix_drawing
+%patch10 -p1 -b .fix_scaling
+%patch11 -p1 -b .fix_svg_base_resolution
+%if %mdkversion >= 201000
+%patch12 -p1
+%patch13 -p1
+%endif
+
+
+%build
+make -f admin/Makefile.common
+%configure_kde3
+
+# svgrender
+pushd svgrender
+ qmake
+ make
+popd
+
+%install
+rm -rf %buildroot
+%{makeinstall_std}
+
+# svgrender
+mkdir -p %buildroot%_kde3_bindir
+install -m0755 svgrender/svgrender %buildroot%_kde3_bindir/moodin_svgrender
+
+%clean
+rm -rf %buildroot
+
+%files
+%defattr(-,root,root)
+%doc COPYING INSTALL AUTHORS
+%_kde3_bindir/moodin_svgrender
+%_kde3_libdir/kde3/ksplashmoodin.la
+%_kde3_libdir/kde3/ksplashmoodin.so
+%_kde3_appsdir/ksplash/Themes/FingerPrint/*.png
+%_kde3_appsdir/ksplash/Themes/FingerPrint/*.jpg
+%_kde3_appsdir/ksplash/Themes/FingerPrint/Theme.rc
+%_kde3_appsdir/ksplash/Themes/MoodinKDE/*.jpg
+%_kde3_appsdir/ksplash/Themes/MoodinKDE/*.png
+%_kde3_appsdir/ksplash/Themes/MoodinKDE/Theme.rc
+%_kde3_datadir/services/ksplashmoodin.desktop
+
+
+
+
+%changelog
+
+* Thu Jul 14 2011 Tim Williams <tim@my-place.ortg.uk> 0.4.2-19mvt2010.2
++ rebuild for MDV 2010.2/Trinity KDE
+
+* Mon Jul 19 2010 Tim Williams <tim@my-place.ortg.uk> 0.4.2-18mvt2010.1
++ Rebuild for MDV 2010.1
+
+* Thu Feb 18 2010 Atilla ÖNTAŞ <atilla_ontas@mandriva.org> 0.4.2-17mvt2010.0
++ Make default config dir as$HOME/.kde3 to avoid future conflicts with KDE4
+
+* Fri Feb 12 2010 Atilla ÖNTAŞ <atilla_ontas@mandriva.org> 0.4.2-16mvt2010.0
++ KDE builds with autoconf 2.65, add patch for this and
+ set autoconf to version 2.65
+- Rename package name and group to avoid possible future kde4 conflicts
+
+* Thu Nov 26 2009 Atilla ÖNTAŞ <atilla_ontas@mandriva.org> 0.4.2-15mvt2010.0
++ Rename package to avoid unvanted KDE4 upgrade
+
+* Fri Nov 13 2009 Tim Williams <tim@my-place.org.uk> 0.4.2-14mdv2009.0
++ Rebuild for MDV 2010.0
+
+* Sun Jul 13 2008 Nicolas Lécureuil <neoclust@mandriva.org> 0.4.2-13mdv2009.0
++ Revision: 234340
+- Rebuild
+
+* Thu May 08 2008 Helio Chissini de Castro <helio@mandriva.com> 0.4.2-12mdv2009.0
++ Revision: 204726
+- Move to /opt
+
+* Thu Feb 28 2008 Gustavo Pichorim Boiko <boiko@mandriva.com> 0.4.2-11mdv2008.1
++ Revision: 176248
+- Fix svg rendering when the screen resolution is the same as the base resolution
+
+* Wed Feb 27 2008 Gustavo Pichorim Boiko <boiko@mandriva.com> 0.4.2-10mdv2008.1
++ Revision: 175815
+- Add a patch fixing many problems of Moodin:
+ * Inter-widget transparency
+ * scaling images when using a svg background
+ * Proper handling svg images.
+
+* Tue Feb 26 2008 Gustavo Pichorim Boiko <boiko@mandriva.com> 0.4.2-9mdv2008.1
++ Revision: 175394
+- Add a patch fixing drawing when compiz is running
+
+ + Thierry Vignaud <tvignaud@mandriva.com>
+ - fix no-buildroot-tag
+
+* Thu Jan 03 2008 Oden Eriksson <oeriksson@mandriva.com> 0.4.2-8mdv2008.1
++ Revision: 141782
+- rebuilt against openldap-2.4.7 libs
+
+* Thu Dec 20 2007 Gustavo Pichorim Boiko <boiko@mandriva.com> 0.4.2-7mdv2008.1
++ Revision: 135891
+- Fix automake 1.10 detection
+- Use an external svg rendering helper (Qt4 based)
+
+ + Thierry Vignaud <tvignaud@mandriva.com>
+ - kill re-definition of %%buildroot on Pixel's request
+
+
+* Wed Feb 14 2007 Laurent Montel <lmontel@mandriva.com> 0.4.2-6mdv2007.0
++ Revision: 120903
+- Fix svg
+
+* Wed Feb 14 2007 Laurent Montel <lmontel@mandriva.com> 0.4.2-5mdv2007.1
++ Revision: 120754
+- Improve
+- Fix other mem leak
+- Fix some mem leak
+- Fix configure
+- Import ksplash-engine-moodin
+
+* Mon Jul 03 2006 Nicolas Lécureuil <neoclust@mandriva.org> 0.4.2-2mdv2007.0
+- Rebuild for new extension
+
+* Sun Dec 18 2005 Sebastien Savarin <plouf@mandriva.org> 0.4.2-1mdk
+- First Mandriva Linux release
+
diff --git a/mandriva/2010.2/other/ksplash-engine-moodin/moodin-0.4.2-fix-bug.patch b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-0.4.2-fix-bug.patch
new file mode 100644
index 000000000..d69796b2b
--- /dev/null
+++ b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-0.4.2-fix-bug.patch
@@ -0,0 +1,79 @@
+--- moodin/src/magiclabel.cpp-- 2007-01-26 14:47:28.000000000 +0100
++++ moodin/src/magiclabel.cpp 2007-01-26 14:48:48.000000000 +0100
+@@ -21,7 +21,7 @@
+ // This class is still very simple (as most of the classes)
+ // They get all improved later when "OpenGL Effect Widget" structure is completed
+
+-MagicLabel::MagicLabel(QString s, bool translate)
++MagicLabel::MagicLabel(const QString &s, bool translate)
+ {
+ prefix = "ML:";
+ preUSER = "USER:";
+@@ -73,7 +73,11 @@
+ mValue = "";
+
+ if (!proc->start(KProcess::Block, KProcess::Stdout))
++ {
++ delete proc;
++ //TODO add i18n
+ KMessageBox::information(0, QString("Could not start process: %1").arg(cmd));
++ }
+ }
+
+
+--- moodin/src/cache.cpp-- 2007-01-26 14:45:16.000000000 +0100
++++ moodin/src/cache.cpp 2007-01-26 14:46:11.000000000 +0100
+@@ -81,7 +81,7 @@
+ }
+
+
+-void Cache::writeInfoFile(QString& file)
++void Cache::writeInfoFile(const QString& file)
+ {
+ QFileInfo fi(getFile(file));
+
+@@ -91,7 +91,7 @@
+ }
+
+
+-bool Cache::isInSync(QString& file)
++bool Cache::isInSync(const QString& file)
+ {
+ QFileInfo fi(getFile(file));
+
+@@ -103,7 +103,7 @@
+ }
+
+
+-QString Cache::getFile(QString file)
++QString Cache::getFile(const QString &file)
+ {
+ return mCacheDir.filePath(file);
+ }
+--- moodin/src/cache.h-- 2007-01-26 14:45:21.000000000 +0100
++++ moodin/src/cache.h 2007-01-26 14:46:15.000000000 +0100
+@@ -28,10 +28,10 @@
+ Scaler* mScaler;
+
+ void createCacheDir();
+- void writeInfoFile(QString& file);
+- bool isInSync(QString& file);
++ void writeInfoFile(const QString& file);
++ bool isInSync(const QString& file);
+
+- QString getFile(QString file);
++ QString getFile(const QString &file);
+
+ public:
+ Cache(Scaler* scaler, const QString& mThemeEngine, const QString& theme);
+--- moodin/src/magiclabel.h-- 2007-01-26 14:47:34.000000000 +0100
++++ moodin/src/magiclabel.h 2007-01-26 14:47:53.000000000 +0100
+@@ -36,7 +36,7 @@
+ void receivedStdout(KProcess *proc, char *buffer, int buflen);
+
+ public:
+- MagicLabel(QString s, bool translate);
++ MagicLabel(const QString &s, bool translate);
+
+ inline QString& value() { return mValue; };
+ };
diff --git a/mandriva/2010.2/other/ksplash-engine-moodin/moodin-0.4.2-memleak-bug.patch b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-0.4.2-memleak-bug.patch
new file mode 100644
index 000000000..ae750fbb8
--- /dev/null
+++ b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-0.4.2-memleak-bug.patch
@@ -0,0 +1,15 @@
+--- moodin/src/thememoodin.cpp-- 2007-01-26 14:56:48.000000000 +0100
++++ moodin/src/thememoodin.cpp 2007-01-26 14:57:20.000000000 +0100
+@@ -81,8 +81,10 @@
+ mImageSpacer = cfg->readNumEntry("ImageSpacer", mUseIconSet ? mIconSetSize : 0);
+ mUsersBackground = cfg->readBoolEntry("UsersBackground", false);
+ mLabelCount = cfg->readNumEntry("Labels", 0);
+- mLabelShadowOffset = cfg->readPointEntry("LabelShadowOffset", new QPoint(2, 2));
+- mBaseResolution = cfg->readSizeEntry("BaseResolution", new QSize(1280, 1024));
++ QPoint pos(2,2);
++ mLabelShadowOffset = cfg->readPointEntry("LabelShadowOffset", &pos);
++ QSize size(1280, 1024);
++ mBaseResolution = cfg->readSizeEntry("BaseResolution", &size);
+ mTranslate = cfg->readBoolEntry("Translate", true);
+ mLineUpImages = cfg->readBoolEntry("LineUpImages", false);
+
diff --git a/mandriva/2010.2/other/ksplash-engine-moodin/moodin-autoconf.patch b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-autoconf.patch
new file mode 100644
index 000000000..a6172eb0e
--- /dev/null
+++ b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-autoconf.patch
@@ -0,0 +1,31 @@
+--- moodin/admin/cvs.sh-- 2007-01-26 14:36:43.000000000 +0100
++++ moodin/admin/cvs.sh 2007-01-26 14:37:10.000000000 +0100
+@@ -32,7 +32,7 @@
+ required_autoconf_version="2.53 or newer"
+ AUTOCONF_VERSION=`$AUTOCONF --version | head -n 1`
+ case $AUTOCONF_VERSION in
+- Autoconf*2.5* | autoconf*2.5* ) : ;;
++ Autoconf*2.5* | autoconf*2.5* | autoconf*2.6* ) : ;;
+ "" )
+ echo "*** AUTOCONF NOT FOUND!."
+ echo "*** KDE requires autoconf $required_autoconf_version"
+@@ -47,7 +47,7 @@
+
+ AUTOHEADER_VERSION=`$AUTOHEADER --version | head -n 1`
+ case $AUTOHEADER_VERSION in
+- Autoconf*2.5* | autoheader*2.5* ) : ;;
++ Autoconf*2.5* | autoheader*2.5* | autoheader*2.6* ) : ;;
+ "" )
+ echo "*** AUTOHEADER NOT FOUND!."
+ echo "*** KDE requires autoheader $required_autoconf_version"
+--- moodin/admin/detect-autoconf.sh-- 2007-01-26 14:37:38.000000000 +0100
++++ moodin/admin/detect-autoconf.sh 2007-01-26 14:37:52.000000000 +0100
+@@ -10,7 +10,7 @@
+ # Please add higher versions first. The last version number is the minimum
+ # needed to compile KDE. Do not forget to include the name/version #
+ # separator if one is present, e.g. -1.2 where - is the separator.
+-KDE_AUTOCONF_VERS="-2.58 -2.57 257 -2.54 -2.53a -2.53 -2.52 -2.5x"
++KDE_AUTOCONF_VERS="-2.65 -2.63 -2.62 -2.61 -2.60 -2.58 -2.57 257 -2.54 -2.53a -2.53 -2.52 -2.5x"
+ KDE_AUTOMAKE_VERS="-1.7 17 -1.6"
+
+ # We don't use variable here for remembering the type ... strings. Local
diff --git a/mandriva/2010.2/other/ksplash-engine-moodin/moodin-automake.patch b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-automake.patch
new file mode 100644
index 000000000..94519d0cb
--- /dev/null
+++ b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-automake.patch
@@ -0,0 +1,12 @@
+diff -p -up moodin/admin/cvs.sh.automake moodin/admin/cvs.sh
+--- moodin/admin/cvs.sh.automake 2007-12-20 13:29:30.000000000 -0200
++++ moodin/admin/cvs.sh 2007-12-20 13:29:53.000000000 -0200
+@@ -68,7 +68,7 @@ case $AUTOMAKE_STRING in
+ echo "*** KDE requires automake $required_automake_version"
+ exit 1
+ ;;
+- automake*1.6.* | automake*1.7* | automake*1.8* | automake*1.9*)
++ automake*1.6.* | automake*1.7* | automake*1.8* | automake*1.9* | automake*1.10* | automake*1.11* )
+ echo "*** $AUTOMAKE_STRING found."
+ UNSERMAKE=no
+ ;;
diff --git a/mandriva/2010.2/other/ksplash-engine-moodin/moodin-drawing_and_scaling_fixes.patch b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-drawing_and_scaling_fixes.patch
new file mode 100644
index 000000000..a856e9932
--- /dev/null
+++ b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-drawing_and_scaling_fixes.patch
@@ -0,0 +1,144 @@
+diff -p -up moodin/src/cache.cpp.orig moodin/src/cache.cpp
+diff -p -up moodin/src/magiclabel.h.orig moodin/src/magiclabel.h
+diff -p -up moodin/src/cache.h.orig moodin/src/cache.h
+diff -p -up moodin/src/thememoodin.cpp.orig moodin/src/thememoodin.cpp
+--- moodin/src/thememoodin.cpp.orig 2008-02-26 17:46:36.000000000 -0300
++++ moodin/src/thememoodin.cpp 2008-02-26 17:47:26.000000000 -0300
+@@ -88,11 +88,11 @@ void ThemeMoodin::readSettings()
+ mLabelShadowOffset = cfg->readPointEntry("LabelShadowOffset", &pos);
+ QSize size(1280, 1024);
+ mBaseResolution = cfg->readSizeEntry("BaseResolution", &size);
+- //For svg image use a negative size => force to create it.
++/* //For svg image use a negative size => force to create it.
+ if(!mUsersBackground && (mBackgroundImage.endsWith(".svg") || mBackgroundImage.endsWith(".svgz"))) {
+ mBaseResolution=QSize();
+ }
+-
++*/
+ mTranslate = cfg->readBoolEntry("Translate", true);
+ mLineUpImages = cfg->readBoolEntry("LineUpImages", false);
+
+@@ -325,7 +325,13 @@ EffectWidget* ThemeMoodin::createEffectW
+ fw->setFixedSize(image->size());
+ fw->setImage(image);
+ fw->setStart(mBeginOpacity);
+- fw->show();
++ //fw->show();
++
++ for (EffectWidget *f = mEffectWidgets.first(); f; f = mEffectWidgets.next())
++ {
++ connect(f, SIGNAL(cacheNeedsUpdate()), fw, SLOT(updateCache()));
++ connect(fw, SIGNAL(cacheNeedsUpdate()), f, SLOT(updateCache()));
++ }
+
+ return fw;
+ }
+@@ -358,7 +364,10 @@ void ThemeMoodin::slotSetPixmap(const QS
+ EffectWidget *fw = mEffectWidgets.at(n);
+
+ if (fw)
++ {
++ fw->show();
+ fw->start();
++ }
+
+ repaint(false);
+ }
+diff -p -up moodin/src/thememoodin.h.orig moodin/src/thememoodin.h
+diff -p -up moodin/src/magiclabel.cpp.orig moodin/src/magiclabel.cpp
+diff -p -up moodin/src/effectwidget.h.orig moodin/src/effectwidget.h
+--- moodin/src/effectwidget.h.orig 2008-02-26 17:46:36.000000000 -0300
++++ moodin/src/effectwidget.h 2008-02-26 17:48:33.000000000 -0300
+@@ -45,10 +45,12 @@ class EffectWidget : public QWidget
+ void resizeEvent(QResizeEvent *);
+ void moveEvent(QMoveEvent *);
+
+- void updateCache();
++signals:
++ void cacheNeedsUpdate();
+
+ public slots:
+ void timerTick();
++ void updateCache();
+
+ private:
+ static QImage *bgImage;
+@@ -64,6 +66,7 @@ class EffectWidget : public QWidget
+ float
+ beginOpacity,
+ endOpacity;
++ bool bgUpdated;
+ };
+
+ #endif
+diff -p -up moodin/src/scaler.h.orig moodin/src/scaler.h
+diff -p -up moodin/src/effectwidget.cpp.orig moodin/src/effectwidget.cpp
+--- moodin/src/effectwidget.cpp.orig 2008-02-26 17:46:36.000000000 -0300
++++ moodin/src/effectwidget.cpp 2008-02-26 17:46:40.000000000 -0300
+@@ -34,6 +34,8 @@ EffectWidget::EffectWidget(QWidget* pare
+ setBackgroundMode(NoBackground);
+ setBackgroundOrigin(QWidget::ParentOrigin);
+ updateCache();
++
++ bgUpdated = false;
+ }
+
+
+@@ -157,7 +159,17 @@ void EffectWidget::paintEvent(QPaintEven
+
+ QImage upper = image->copy();
+ QImage lower = background.copy();
+- KImageEffect::blendOnLower(upper, lower, KImageEffect::Centered, (currentStep + 1 == totalSteps) ? 1.0 : endOpacity / float(totalSteps) * float(currentStep) + beginOpacity);
++
++ if ((currentStep + 1 == totalSteps) && !bgUpdated)
++ {
++ bgUpdated = true;
++ KImageEffect::blendOnLower(upper, lower, KImageEffect::Centered, 1.0);
++ QPoint p(mapToGlobal(QPoint(0,0)));
++ bitBlt(bgImage, p.x(), p.y(), &lower, 0, 0, -1, -1, 0);
++ emit cacheNeedsUpdate();
++ }
++ else
++ KImageEffect::blendOnLower(upper, lower, KImageEffect::Centered, endOpacity / float(totalSteps) * float(currentStep) + beginOpacity);
+
+ bitBlt(this, 0, 0, &lower);
+ }
+diff -p -up moodin/src/scaler.cpp.orig moodin/src/scaler.cpp
+--- moodin/src/scaler.cpp.orig 2008-02-26 17:46:36.000000000 -0300
++++ moodin/src/scaler.cpp 2008-02-26 17:47:44.000000000 -0300
+@@ -15,16 +15,7 @@
+
+ Scaler::Scaler(QSize baseResolution, QSize targetResolution)
+ {
+- if(mBaseResolution.isValid())
+- {
+- mBaseResolution = baseResolution;
+- mSvgFile =false;
+- }
+- else
+- {
+- mBaseResolution = targetResolution;
+- mSvgFile = true;
+- }
++ mBaseResolution = baseResolution;
+ mTargetResolution = targetResolution;
+ }
+
+@@ -53,7 +44,7 @@ void Scaler::autoCoords(QPoint* pt, cons
+
+ void Scaler::scaleCoords(QPoint* pt)
+ {
+- if (!mSvgFile && (mBaseResolution == mTargetResolution))
++ if (mBaseResolution == mTargetResolution)
+ return;
+
+ int ox = pt->x();
+@@ -104,7 +95,7 @@ bool Scaler::scaleSize(QFont* f)
+
+ bool Scaler::resolutionDiff()
+ {
+- return (mSvgFile || (mBaseResolution != mTargetResolution));
++ return (mBaseResolution != mTargetResolution);
+ }
+
+
diff --git a/mandriva/2010.2/other/ksplash-engine-moodin/moodin-external_svgrender.patch b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-external_svgrender.patch
new file mode 100644
index 000000000..6c0a5e900
--- /dev/null
+++ b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-external_svgrender.patch
@@ -0,0 +1,51 @@
+diff -p -up moodin/src/cache.cpp.external_svgrender moodin/src/cache.cpp
+--- moodin/src/cache.cpp.external_svgrender 2007-12-20 15:15:29.000000000 -0200
++++ moodin/src/cache.cpp 2007-12-20 16:12:35.000000000 -0200
+@@ -13,9 +13,9 @@
+ #include <kstandarddirs.h>
+ #include <kconfig.h>
+
+-#ifdef HAVE_LIBART
+-#include <ksvgiconengine.h>
+-#endif
++// for external svg rendering
++#include <ktempfile.h>
++#include <kprocess.h>
+
+ #include <qfileinfo.h>
+ #include <qdatetime.h>
+@@ -49,22 +49,18 @@ QImage* Cache::cacheFile(const QString&
+ {
+ QImage *i;
+ if (file.endsWith(".svg") || file.endsWith(".svgz")) {
+-#ifdef HAVE_LIBART
+- KSVGIconEngine* svgEngine = new KSVGIconEngine();
+- QSize size = mScaler->targetResolution();
+- if (svgEngine->load(size.width(), size.height(), file )) {
+- QImage *image = svgEngine->image();
+- i = new QImage(*image);
+- delete image;
+- i->save(cachedFile.name(), QImage::imageFormat(file));
+- } else {
+- kdWarning() << "failed to load SVG file " << file << endl;
+- }
+- delete svgEngine;
+-#else
+- kdWarning() << k_funcinfo
+- << "tried to load SVG file but libart not installed" << endl;
+-#endif
++ QSize size = mScaler->targetResolution();
++ KProcess proc;
++ proc << "moodin_svgrender";
++ KTempFile tmp("/tmp/moodin_cache", ".png");
++ tmp.setAutoDelete(false);
++ tmp.close();
++ proc << QString::number(size.width()) << QString::number(size.height()) << file << tmp.name();
++ proc.start(KProcess::Block);
++
++ i = new QImage(tmp.name());
++ if (i->save(cachedFile.name(), "PNG"))
++ QFile(tmp.name()).remove();
+ }
+ else
+ {
diff --git a/mandriva/2010.2/other/ksplash-engine-moodin/moodin-fix-svg.patch b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-fix-svg.patch
new file mode 100644
index 000000000..7a252adc6
--- /dev/null
+++ b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-fix-svg.patch
@@ -0,0 +1,67 @@
+--- moodin/src/scaler.cpp-- 2007-02-14 15:22:06.000000000 +0100
++++ moodin/src/scaler.cpp 2007-02-14 15:22:16.000000000 +0100
+@@ -15,7 +15,16 @@
+
+ Scaler::Scaler(QSize baseResolution, QSize targetResolution)
+ {
+- mBaseResolution = baseResolution;
++ if(mBaseResolution.isValid())
++ {
++ mBaseResolution = baseResolution;
++ mSvgFile =false;
++ }
++ else
++ {
++ mBaseResolution = targetResolution;
++ mSvgFile = true;
++ }
+ mTargetResolution = targetResolution;
+ }
+
+@@ -44,7 +53,7 @@
+
+ void Scaler::scaleCoords(QPoint* pt)
+ {
+- if (mBaseResolution == mTargetResolution)
++ if (!mSvgFile && (mBaseResolution == mTargetResolution))
+ return;
+
+ int ox = pt->x();
+@@ -95,7 +104,7 @@
+
+ bool Scaler::resolutionDiff()
+ {
+- return (mBaseResolution != mTargetResolution);
++ return (mSvgFile || (mBaseResolution != mTargetResolution));
+ }
+
+
+--- moodin/src/scaler.h-- 2007-02-14 15:22:09.000000000 +0100
++++ moodin/src/scaler.h 2007-02-14 15:22:20.000000000 +0100
+@@ -21,6 +21,7 @@
+ private:
+ QSize mBaseResolution;
+ QSize mTargetResolution;
++ bool mSvgFile;
+
+ public:
+ Scaler(QSize baseResolution, QSize targetResolution);
+--- moodin/src/thememoodin.cpp-- 2007-02-14 15:23:53.000000000 +0100
++++ moodin/src/thememoodin.cpp 2007-02-14 15:24:40.000000000 +0100
+@@ -88,7 +88,7 @@
+ mBaseResolution = cfg->readSizeEntry("BaseResolution", &size);
+ //For svg image use a negative size => force to create it.
+ if(!mUsersBackground && (mBackgroundImage.endsWith(".svg") || mBackgroundImage.endsWith(".svgz"))) {
+- mBaseResolution=QSize(-1,-1);
++ mBaseResolution=QSize();
+ }
+
+ mTranslate = cfg->readBoolEntry("Translate", true);
+@@ -248,7 +248,6 @@
+ else
+ {
+ QString name = mTheme->locateThemeData(*it);
+-
+ if (name.isEmpty())
+ continue;
+
diff --git a/mandriva/2010.2/other/ksplash-engine-moodin/moodin-fix_drawing_on_compiz.patch b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-fix_drawing_on_compiz.patch
new file mode 100644
index 000000000..db609104c
--- /dev/null
+++ b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-fix_drawing_on_compiz.patch
@@ -0,0 +1,67 @@
+diff -p -up moodin/src/effectwidget.cpp.fix_drawing moodin/src/effectwidget.cpp
+diff -p -up moodin/src/scaler.cpp.fix_drawing moodin/src/scaler.cpp
+diff -p -up moodin/src/effectwidget.h.fix_drawing moodin/src/effectwidget.h
+diff -p -up moodin/src/magiclabel.h.fix_drawing moodin/src/magiclabel.h
+diff -p -up moodin/src/thememoodin.h.fix_drawing moodin/src/thememoodin.h
+--- moodin/src/thememoodin.h.fix_drawing 2008-02-26 10:30:05.000000000 -0300
++++ moodin/src/thememoodin.h 2008-02-26 10:46:14.000000000 -0300
+@@ -96,7 +96,6 @@ private:
+ QPoint mStatusCoords;
+ QPoint mLabelShadowOffset;
+ QPoint mStatusOffsets;
+- QWidget* mContainer;
+ QSize mBaseResolution;
+ QRect mSplashRect;
+
+diff -p -up moodin/src/scaler.h.fix_drawing moodin/src/scaler.h
+diff -p -up moodin/src/cache.h.fix_drawing moodin/src/cache.h
+diff -p -up moodin/src/thememoodin.cpp.fix_drawing moodin/src/thememoodin.cpp
+--- moodin/src/thememoodin.cpp.fix_drawing 2008-02-26 10:30:05.000000000 -0300
++++ moodin/src/thememoodin.cpp 2008-02-26 10:46:14.000000000 -0300
+@@ -39,6 +39,8 @@ ThemeMoodin::ThemeMoodin(QWidget* parent
+ {
+ readSettings();
+ init();
++ QLayout *l = layout();
++ delete l;
+ }
+
+
+@@ -122,8 +124,6 @@ void ThemeMoodin::init()
+ setBackgroundMode(NoBackground);
+ setFixedSize(mSplashRect.size());
+
+- mContainer = new QWidget(this);
+- mContainer->setFixedSize(size());
+ mScaler = new Scaler(mBaseResolution, size());
+ mCache = new Cache(mScaler, mTheme->themeEngine(), mTheme->theme());
+ mBG = new KPixmap();
+@@ -260,7 +260,7 @@ void ThemeMoodin::initEffectWidgets()
+ }
+ }
+
+- fadeWidget = createEffectWidget(mContainer, image);
++ fadeWidget = createEffectWidget(this, image);
+ mEffectWidgets.append(fadeWidget);
+ mImages.append(image);
+ arrangeWidget(fadeWidget, index);
+@@ -367,7 +367,7 @@ void ThemeMoodin::slotSetPixmap(const QS
+ void ThemeMoodin::updateStatus()
+ {
+ QPainter p;
+- p.begin(mContainer);
++ p.begin(this);
+
+ // use a copy, otherwise status messages move around
+ QPoint pt = mStatusCoords;
+@@ -396,7 +396,7 @@ void ThemeMoodin::paintEvent(QPaintEvent
+ {
+ QRect r = pe->rect();
+
+- bitBlt(mContainer, r.x(), r.y(), mBG, r.x(), r.y(), r.width(), r.height());
++ bitBlt(this, r.x(), r.y(), mBG, r.x(), r.y(), r.width(), r.height());
+
+ if (mShowStatusText)
+ updateStatus();
+diff -p -up moodin/src/magiclabel.cpp.fix_drawing moodin/src/magiclabel.cpp
+diff -p -up moodin/src/cache.cpp.fix_drawing moodin/src/cache.cpp
diff --git a/mandriva/2010.2/other/ksplash-engine-moodin/moodin-fix_svg_on_base_resolution.patch b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-fix_svg_on_base_resolution.patch
new file mode 100644
index 000000000..1775f4b7d
--- /dev/null
+++ b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-fix_svg_on_base_resolution.patch
@@ -0,0 +1,12 @@
+diff -p -up moodin/src/cache.cpp.orig moodin/src/cache.cpp
+--- moodin/src/cache.cpp.orig 2008-02-28 11:50:22.000000000 -0300
++++ moodin/src/cache.cpp 2008-02-28 11:50:30.000000000 -0300
+@@ -41,7 +41,7 @@ QImage* Cache::cacheFile(const QString&
+ QStringList parts = QStringList::split("/", file);
+ QFile cachedFile(mCacheDir.filePath(parts.last()));
+
+- if (!mScaler->resolutionDiff())
++ if (!mScaler->resolutionDiff() && !file.endsWith(".svg") && !file.endsWith(".svgz"))
+ return new QImage(file);
+ else if (isInSync(parts.last()) && cachedFile.exists())
+ return new QImage(cachedFile.name());
diff --git a/mandriva/2010.2/other/ksplash-engine-moodin/moodin-kdehome-kde3.patch b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-kdehome-kde3.patch
new file mode 100644
index 000000000..41146bca4
--- /dev/null
+++ b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-kdehome-kde3.patch
@@ -0,0 +1,48 @@
+diff -Naur moodin/src/cache.cpp moodin-yeni/src/cache.cpp
+--- moodin/src/cache.cpp 2010-02-18 18:39:32.860704557 +0200
++++ moodin-yeni/src/cache.cpp 2010-02-18 18:40:29.325697870 +0200
+@@ -80,7 +80,7 @@
+ void Cache::createCacheDir()
+ {
+ KUser user;
+- QString path = user.homeDir() + "/.kde/" + KStandardDirs::kde_default("data");
++ QString path = user.homeDir() + "/.kde3/" + KStandardDirs::kde_default("data");
+ path += QString("ksplash/cache/%1/%2/%3x%4").arg(mThemeEngine).arg(mTheme).arg(mScaler->targetResolution().width()).arg(mScaler->targetResolution().height()) + "/";
+
+ mCacheDir.setPath(path);
+diff -Naur moodin/src/cache.cpp.external_svgrender moodin-yeni/src/cache.cpp.external_svgrender
+--- moodin/src/cache.cpp.external_svgrender 2010-02-18 18:39:32.853704409 +0200
++++ moodin-yeni/src/cache.cpp.external_svgrender 2010-02-18 18:40:54.849698306 +0200
+@@ -84,7 +84,7 @@
+ void Cache::createCacheDir()
+ {
+ KUser user;
+- QString path = user.homeDir() + "/.kde/" + KStandardDirs::kde_default("data");
++ QString path = user.homeDir() + "/.kde3/" + KStandardDirs::kde_default("data");
+ path += QString("ksplash/cache/%1/%2/%3x%4").arg(mThemeEngine).arg(mTheme).arg(mScaler->targetResolution().width()).arg(mScaler->targetResolution().height()) + "/";
+
+ mCacheDir.setPath(path);
+diff -Naur moodin/src/cache.cpp.fix_svg_base_resolution moodin-yeni/src/cache.cpp.fix_svg_base_resolution
+--- moodin/src/cache.cpp.fix_svg_base_resolution 2010-02-18 18:39:32.857698566 +0200
++++ moodin-yeni/src/cache.cpp.fix_svg_base_resolution 2010-02-18 18:41:08.230573595 +0200
+@@ -80,7 +80,7 @@
+ void Cache::createCacheDir()
+ {
+ KUser user;
+- QString path = user.homeDir() + "/.kde/" + KStandardDirs::kde_default("data");
++ QString path = user.homeDir() + "/.kde3/" + KStandardDirs::kde_default("data");
+ path += QString("ksplash/cache/%1/%2/%3x%4").arg(mThemeEngine).arg(mTheme).arg(mScaler->targetResolution().width()).arg(mScaler->targetResolution().height()) + "/";
+
+ mCacheDir.setPath(path);
+diff -Naur moodin/src/cache.cpp.use_svg moodin-yeni/src/cache.cpp.use_svg
+--- moodin/src/cache.cpp.use_svg 2010-02-18 18:39:32.851698558 +0200
++++ moodin-yeni/src/cache.cpp.use_svg 2010-02-18 18:41:19.418697990 +0200
+@@ -59,7 +59,7 @@
+ void Cache::createCacheDir()
+ {
+ KUser user;
+- QString path = user.homeDir() + "/.kde/" + KStandardDirs::kde_default("data");
++ QString path = user.homeDir() + "/.kde3/" + KStandardDirs::kde_default("data");
+ path += QString("ksplash/cache/%1/%2/%3x%4").arg(mThemeEngine).arg(mTheme).arg(mScaler->targetResolution().width()).arg(mScaler->targetResolution().height()) + "/";
+
+ mCacheDir.setPath(path);
diff --git a/mandriva/2010.2/other/ksplash-engine-moodin/moodin-use-label-offset.patch b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-use-label-offset.patch
new file mode 100644
index 000000000..ebeadd478
--- /dev/null
+++ b/mandriva/2010.2/other/ksplash-engine-moodin/moodin-use-label-offset.patch
@@ -0,0 +1,29 @@
+--- moodin/src/thememoodin.cpp-- 2007-02-12 15:56:48.000000000 +0100
++++ moodin/src/thememoodin.cpp 2007-02-12 15:59:37.000000000 +0100
+@@ -69,6 +69,7 @@
+ mStatusColor = cfg->readColorEntry("StatusColor", &defaultColor);
+ mStatusFont = cfg->readFontEntry("StatusFont", &defaultStatusFont);
+ mStatusCoords = cfg->readPointEntry("StatusCoords", &defaultPoint);
++ mStatusOffsets = cfg->readPointEntry("StatusOffsets", &defaultOffset);
+ mLabelShadow = cfg->readBoolEntry("LabelShadow", true);
+ mLabelShadowColor = cfg->readColorEntry("LabelShadowColor", &defaultShadowColor);
+ mShowStatusText = cfg->readBoolEntry("ShowStatusText", true);
+@@ -378,6 +379,8 @@
+
+ mScaler->autoCoords(&pt, fmSize);
+
++ pt+=mStatusOffsets;
++
+ p.setFont(mStatusFont);
+
+ if (mLabelShadow)
+--- moodin/src/thememoodin.h-- 2007-02-12 15:58:54.000000000 +0100
++++ moodin/src/thememoodin.h 2007-02-12 15:59:27.000000000 +0100
+@@ -95,6 +95,7 @@
+ QFont mStatusFont;
+ QPoint mStatusCoords;
+ QPoint mLabelShadowOffset;
++ QPoint mStatusOffsets;
+ QWidget* mContainer;
+ QSize mBaseResolution;
+ QRect mSplashRect;
diff --git a/mandriva/2010.2/other/ksplash-engine-moodin/moodinkde-use-svg.patch b/mandriva/2010.2/other/ksplash-engine-moodin/moodinkde-use-svg.patch
new file mode 100644
index 000000000..2c2021b3c
--- /dev/null
+++ b/mandriva/2010.2/other/ksplash-engine-moodin/moodinkde-use-svg.patch
@@ -0,0 +1,138 @@
+--- moodin/src/thememoodin.cpp-- 2007-01-26 15:44:28.000000000 +0100
++++ moodin/src/thememoodin.cpp 2007-01-26 17:11:34.000000000 +0100
+@@ -85,6 +85,11 @@
+ mLabelShadowOffset = cfg->readPointEntry("LabelShadowOffset", &pos);
+ QSize size(1280, 1024);
+ mBaseResolution = cfg->readSizeEntry("BaseResolution", &size);
++ //For svg image use a negative size => force to create it.
++ if(!mUsersBackground && (mBackgroundImage.endsWith(".svg") || mBackgroundImage.endsWith(".svgz"))) {
++ mBaseResolution=QSize(-1,-1);
++ }
++
+ mTranslate = cfg->readBoolEntry("Translate", true);
+ mLineUpImages = cfg->readBoolEntry("LineUpImages", false);
+
+@@ -154,15 +159,22 @@
+ }
+ else
+ {
+- if (!mBackgroundImage.isEmpty())
++ //Absolute path
++ if(mBackgroundImage.startsWith("/"))
++ bgImage = mBackgroundImage;
++ else if (!mBackgroundImage.isEmpty())
+ bgImage = mTheme->locateThemeData(mBackgroundImage);
+ }
+
+ if (bgImage.isEmpty())
++ {
+ bgImage = mTheme->locateThemeData(QString("Background-%1x%2.jpg").arg(width()).arg(height()));
++ }
+
+ if (bgImage.isEmpty())
++ {
+ bgImage = mTheme->locateThemeData("Background.jpg");
++ }
+
+ if (bgImage.isEmpty())
+ {
+--- moodin/src/cache.cpp-- 2007-01-26 15:49:06.000000000 +0100
++++ moodin/src/cache.cpp 2007-01-26 17:16:05.000000000 +0100
+@@ -8,15 +8,19 @@
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+-
++#include <config.h>
+ #include <kuser.h>
+ #include <kstandarddirs.h>
+ #include <kconfig.h>
+
++#ifdef HAVE_LIBART
++#include <ksvgiconengine.h>
++#endif
++
+ #include <qfileinfo.h>
+ #include <qdatetime.h>
+ #include <qimage.h>
+-
++#include <kdebug.h>
+ #include "cache.h"
+
+ Cache::Cache(Scaler* scaler, const QString& themeEngine, const QString& theme)
+@@ -43,14 +47,35 @@
+ return new QImage(cachedFile.name());
+ else
+ {
+- QImage *i = new QImage(file);
++ QImage *i;
++ if (file.endsWith(".svg") || file.endsWith(".svgz")) {
++#ifdef HAVE_LIBART
++ KSVGIconEngine* svgEngine = new KSVGIconEngine();
++ QSize size = mScaler->targetResolution();
++ if (svgEngine->load(size.width(), size.height(), file )) {
++ QImage *image = svgEngine->image();
++ i = new QImage(*image);
++ delete image;
++ i->save(cachedFile.name(), QImage::imageFormat(file));
++ } else {
++ kdWarning() << "failed to load SVG file " << file << endl;
++ }
++ delete svgEngine;
++#else
++ kdWarning() << k_funcinfo
++ << "tried to load SVG file but libart not installed" << endl;
++#endif
++ }
++ else
++ {
++ i = new QImage(file);
+
+ // update cache if image needs to be scaled (base != target)
+ if (mScaler->scaleSize(i))
+ i->save(cachedFile.name(), QImage::imageFormat(file));
+
++ }
+ writeInfoFile(parts.last());
+-
+ return i;
+ }
+ }
+--- moodin/configure.in.in-- 2007-01-26 17:14:07.000000000 +0100
++++ moodin/configure.in.in 2007-01-26 17:14:24.000000000 +0100
+@@ -4,3 +4,35 @@
+ AC_C_BIGENDIAN
+ AC_CHECK_KDEMAXPATHLEN
+
++dnl libart is used by svg background
++KDE_FIND_PATH(libart2-config, LIBART_CONFIG, [${prefix}/bin ${exec_prefix}/bin /usr/local/bin /opt/local/bin], [
++ AC_MSG_WARN([Could not find libart anywhere, check http://www.levien.com/libart/])
++])
++
++if test -n "$LIBART_CONFIG"; then
++ vers=`$LIBART_CONFIG --version 2>/dev/null | awk 'BEGIN { FS = "."; } { printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
++ if test -n "$vers" && test "$vers" -ge 2003008
++ then
++ LIBART_LIBS="`$LIBART_CONFIG --libs`"
++ LIBART_RPATH=
++ for args in $LIBART_LIBS; do
++ case $args in
++ -L*)
++ LIBART_RPATH="$LIBART_RPATH $args"
++ ;;
++ esac
++ done
++ LIBART_RPATH=`echo $LIBART_RPATH | sed -e "s/-L/-R/g"`
++ LIBART_CFLAGS="`$LIBART_CONFIG --cflags`"
++
++ AC_DEFINE_UNQUOTED(HAVE_LIBART, 1, [Defines if your system has the libart library])
++ else
++ AC_MSG_WARN([You need at least libart 2.3.8])
++ fi
++fi
++
++
++AC_SUBST(LIBART_LIBS)
++AC_SUBST(LIBART_CFLAGS)
++AC_SUBST(LIBART_RPATH)
++
diff --git a/mandriva/2010.2/other/ksplash-engine-moodin/svgrender.tar.bz2 b/mandriva/2010.2/other/ksplash-engine-moodin/svgrender.tar.bz2
new file mode 100644
index 000000000..b62c25a0c
--- /dev/null
+++ b/mandriva/2010.2/other/ksplash-engine-moodin/svgrender.tar.bz2
Binary files differ