diff options
12 files changed, 778 insertions, 31 deletions
diff --git a/redhat/kdebase/kdebase-3.5.12-kdesktop_lock_fix.patch b/redhat/kdebase/kdebase-3.5.12-kdesktop_lock_fix.patch new file mode 100644 index 000000000..0acc11659 --- /dev/null +++ b/redhat/kdebase/kdebase-3.5.12-kdesktop_lock_fix.patch @@ -0,0 +1,22 @@ +--- kdebase-3.5.12/kdesktop/lock/lockprocess.cc.ORI 2011-12-21 18:40:05.553301746 +0100 ++++ kdebase-3.5.12/kdesktop/lock/lockprocess.cc 2011-12-21 18:43:01.643590270 +0100 +@@ -1045,17 +1045,13 @@ + mHackProc << word; + } + +- if (!mForbidden) ++ if (!mForbidden && mHackProc.start() == true) + { +- +- if (mHackProc.start() == true) +- { + #ifdef HAVE_SETPRIORITY + setpriority(PRIO_PROCESS, mHackProc.pid(), mPriority); + #endif + //bitBlt(this, 0, 0, &mOriginal); + return true; +- } + } + else + // we aren't allowed to start the specified screensaver either because it didn't run for some reason + diff --git a/redhat/kdebase/kdebase-3.5.13-fix_multihead_desktop_lock.patch b/redhat/kdebase/kdebase-3.5.13-fix_multihead_desktop_lock.patch new file mode 100644 index 000000000..f2aed5a2d --- /dev/null +++ b/redhat/kdebase/kdebase-3.5.13-fix_multihead_desktop_lock.patch @@ -0,0 +1,297 @@ +Index: kdesktop/lock/lockdlg.cc +=================================================================== +--- kdesktop/lock/lockdlg.cc (revision 1261452) ++++ kdesktop/lock/lockdlg.cc (working copy) +@@ -115,7 +115,7 @@ + frame->setFrameStyle( TQFrame::Panel | TQFrame::Raised ); + frame->setLineWidth( 2 ); + +- TQLabel *pixLabel; ++ TQLabel *pixLabel = NULL; + if (!trinity_desktop_lock_use_system_modal_dialogs) { + pixLabel = new TQLabel( frame, "pixlabel" ); + pixLabel->setPixmap(DesktopIcon("lock")); +@@ -134,7 +134,7 @@ + i18n("<nobr><b>The session was locked by %1</b><br>").arg( user.fullName() ), frame ); + } + +- TQLabel *lockDTLabel; ++ TQLabel *lockDTLabel = NULL; + if ((trinity_desktop_lock_use_system_modal_dialogs) && (!m_lockStartDT.isNull())) { + lockDTLabel = new TQLabel(i18n("This session has been locked since %1").arg(m_lockStartDT.toString()), frame); + } +Index: kdesktop/lock/lockprocess.cc +=================================================================== +--- kdesktop/lock/lockprocess.cc (revision 1261452) ++++ kdesktop/lock/lockprocess.cc (working copy) +@@ -173,6 +173,7 @@ + mDialogControlLock(false), + mForceReject(false), + currentDialog(NULL), ++ mEnsureScreenHiddenTimer(NULL), + mForceContinualLockDisplayTimer(NULL), + mEnsureVRootWindowSecurityTimer(NULL), + mHackDelayStartupTimer(NULL), +@@ -288,6 +289,10 @@ + hackResumeTimer->stop(); + delete hackResumeTimer; + } ++ if (mEnsureScreenHiddenTimer != NULL) { ++ mEnsureScreenHiddenTimer->stop(); ++ delete mEnsureScreenHiddenTimer; ++ } + if (mForceContinualLockDisplayTimer != NULL) { + mForceContinualLockDisplayTimer->stop(); + delete mForceContinualLockDisplayTimer; +@@ -410,7 +415,7 @@ + if (numread > 0) { + if (readbuf[0] == 'C') { + mInfoMessageDisplayed=false; +- while (mDialogControlLock == true) sleep(1); ++ while (mDialogControlLock == true) usleep(100000); + mDialogControlLock = true; + if (currentDialog != NULL) { + mForceReject = true; +@@ -423,7 +428,7 @@ + to_display = to_display.remove(0,1); + // Lock out password dialogs and close any active dialog + mInfoMessageDisplayed=true; +- while (mDialogControlLock == true) sleep(1); ++ while (mDialogControlLock == true) usleep(100000); + mDialogControlLock = true; + if (currentDialog != NULL) { + mForceReject = true; +@@ -444,7 +449,7 @@ + to_display = to_display.remove(0,1); + // Lock out password dialogs and close any active dialog + mInfoMessageDisplayed=true; +- while (mDialogControlLock == true) sleep(1); ++ while (mDialogControlLock == true) usleep(100000); + mDialogControlLock = true; + if (currentDialog != NULL) { + mForceReject = true; +@@ -468,7 +473,7 @@ + to_display = to_display.remove(0,1); + // Lock out password dialogs and close any active dialog + mInfoMessageDisplayed=true; +- while (mDialogControlLock == true) sleep(1); ++ while (mDialogControlLock == true) usleep(100000); + mDialogControlLock = true; + if (currentDialog != NULL) { + mForceReject = true; +@@ -887,8 +892,13 @@ + mRootWidth = rootAttr.width; + mRootHeight = rootAttr.height; + ++ // Resize the background widget + setGeometry(0, 0, mRootWidth, mRootHeight); + ++ // Black out the background widget to hide ugly resize tiling artifacts ++ setBackgroundColor(black); ++ erase(); ++ + // This slot needs to be able to execute very rapidly so as to prevent the user's desktop from ever + // being displayed, so we finish the hack restarting/display prettying operations in a separate timed slot + if (resizeTimer == NULL) { +@@ -902,7 +912,7 @@ + { + stopHack(); + +- while (mDialogControlLock == true) sleep(1); ++ while (mDialogControlLock == true) usleep(100000); + mDialogControlLock = true; + if (closeCurrentWindow()) { + TQTimer::singleShot( 0, this, SLOT(doDesktopResizeFinish()) ); +@@ -911,7 +921,13 @@ + mDialogControlLock = false; + + // Restart the hack as the window size is now different +- startHack(); ++ if (trinity_desktop_lock_delay_screensaver_start && trinity_desktop_lock_forced && trinity_desktop_lock_use_system_modal_dialogs) { ++ ENABLE_CONTINUOUS_LOCKDLG_DISPLAY ++ if (mHackStartupEnabled) mHackDelayStartupTimer->start(mHackDelayStartupTimeout, TRUE); ++ } ++ else { ++ startHack(); ++ } + + mBusy = false; + } +@@ -1064,7 +1080,7 @@ + + if (!grabKeyboard()) + { +- sleep(1); ++ usleep(100000); + if (!grabKeyboard()) + { + return false; +@@ -1073,7 +1089,7 @@ + + if (!grabMouse()) + { +- sleep(1); ++ usleep(100000); + if (!grabMouse()) + { + XUngrabKeyboard(qt_xdisplay(), CurrentTime); +@@ -1117,7 +1133,7 @@ + m_grayImage.fill(0); // Set the alpha buffer to 0 (fully transparent) + m_grayImage.setAlphaBuffer(true); + TQPixmap m_root; +- m_root.resize( TQApplication::desktop()->geometry().width(), TQApplication::desktop()->geometry().height() ); ++ m_root.resize(mRootWidth, mRootHeight); + TQPainter p; + p.begin( &m_root ); + m_grayImage.setAlphaBuffer(false); +@@ -1144,14 +1160,21 @@ + setBackgroundColor(black); + else + setBackgroundPixmap(backingPixmap); ++ setGeometry(0, 0, mRootWidth, mRootHeight); + erase(); + } + if (trinity_desktop_lock_use_system_modal_dialogs) { + // Try to get the root pixmap +- m_rootPixmap = new KRootPixmap(this); ++ if (!m_rootPixmap) m_rootPixmap = new KRootPixmap(this); + m_rootPixmap->setCustomPainting(true); + connect(m_rootPixmap, TQT_SIGNAL(backgroundUpdated(const TQPixmap &)), this, TQT_SLOT(slotPaintBackground(const TQPixmap &))); + m_rootPixmap->start(); ++ // Sometimes KRootPixmap fails...make sure the desktop is hidden regardless ++ if (!mEnsureScreenHiddenTimer) { ++ mEnsureScreenHiddenTimer = new TQTimer( this ); ++ connect( mEnsureScreenHiddenTimer, TQT_SIGNAL(timeout()), this, TQT_SLOT(slotForcePaintBackground()) ); ++ } ++ mEnsureScreenHiddenTimer->start(2000, true); + } + + if (trinity_desktop_lock_in_sec_dlg == FALSE) { +@@ -1275,6 +1298,7 @@ + if (!mHackProc.isRunning()) { + if (backingPixmap.isNull()) { + setBackgroundColor(black); ++ setGeometry(0, 0, mRootWidth, mRootHeight); + erase(); + } + else { +@@ -1298,6 +1322,7 @@ + setBackgroundColor(black); + else + setBackgroundPixmap(backingPixmap); ++ setGeometry(0, 0, mRootWidth, mRootHeight); + erase(); + return false; + } +@@ -1344,6 +1369,7 @@ + setBackgroundColor(black); + else + setBackgroundPixmap(backingPixmap); ++ setGeometry(0, 0, mRootWidth, mRootHeight); + erase(); + mSuspended = false; + } +@@ -1377,7 +1403,10 @@ + else + setBackgroundPixmap(backingPixmap); + } +- if (backingPixmap.isNull()) erase(); ++ if (backingPixmap.isNull()) { ++ setGeometry(0, 0, mRootWidth, mRootHeight); ++ erase(); ++ } + else bitBlt(this, 0, 0, &backingPixmap); + if (trinity_desktop_lock_use_system_modal_dialogs) { + ENABLE_CONTINUOUS_LOCKDLG_DISPLAY +@@ -1416,7 +1445,10 @@ + else + setBackgroundPixmap(backingPixmap); + } +- if (backingPixmap.isNull()) erase(); ++ if (backingPixmap.isNull()) { ++ setGeometry(0, 0, mRootWidth, mRootHeight); ++ erase(); ++ } + else bitBlt(this, 0, 0, &backingPixmap); + if (!mSuspended) { + if (trinity_desktop_lock_use_system_modal_dialogs) { +@@ -1492,6 +1524,7 @@ + setBackgroundColor(black); + else + setBackgroundPixmap(backingPixmap); ++ setGeometry(0, 0, mRootWidth, mRootHeight); + erase(); + return; + } +@@ -1597,10 +1630,13 @@ + } + mDialogs.prepend( dlg ); + fakeFocusIn( dlg->winId()); +- if (backingPixmap.isNull() && trinity_desktop_lock_use_system_modal_dialogs) erase(); ++ if (backingPixmap.isNull() && trinity_desktop_lock_use_system_modal_dialogs) { ++ setGeometry(0, 0, mRootWidth, mRootHeight); ++ erase(); ++ } + else bitBlt(this, 0, 0, &backingPixmap); + int rt = dlg->exec(); +- while (mDialogControlLock == true) sleep(1); ++ while (mDialogControlLock == true) usleep(100000); + currentDialog = NULL; + mDialogs.remove( dlg ); + if( mDialogs.isEmpty() ) { +@@ -1624,8 +1660,18 @@ + return rt; + } + ++void LockProcess::slotForcePaintBackground() ++{ ++ TQPixmap blankPixmap(mRootWidth, mRootHeight); ++ blankPixmap.fill(Qt::black); ++ slotPaintBackground(blankPixmap); ++ printf("[WARNING] Unable to obtain desktop wallpaper in a timely manner. High system load or possibly a TDE bug!\n\r"); fflush(stdout); ++} ++ + void LockProcess::slotPaintBackground(const TQPixmap &rpm) + { ++ mEnsureScreenHiddenTimer->stop(); ++ + TQPixmap pm = rpm; + + if (TQPaintDevice::x11AppDepth() == 32) { +@@ -1652,6 +1698,7 @@ + backingPixmap = pm; + if (trinity_desktop_lock_delay_screensaver_start && trinity_desktop_lock_forced) { + setBackgroundPixmap(backingPixmap); ++ setGeometry(0, 0, mRootWidth, mRootHeight); + erase(); + } + } +@@ -1677,7 +1724,7 @@ + mBusy=true; + TQTimer::singleShot(1000, this, TQT_SLOT(slotDeadTimePassed())); + if (mkeyCode == XKeysymToKeycode(qt_xdisplay(), XF86XK_Display)) { +- while (mDialogControlLock == true) sleep(1); ++ while (mDialogControlLock == true) usleep(100000); + mDialogControlLock = true; + currentDialog->close(); // DO NOT use closeCurrentWindow() here! + mDialogControlLock = false; +Index: kdesktop/lock/lockprocess.h +=================================================================== +--- kdesktop/lock/lockprocess.h (revision 1261452) ++++ kdesktop/lock/lockprocess.h (working copy) +@@ -74,6 +74,7 @@ + void doDesktopResizeFinish(); + void doFunctionKeyBroadcast(); + void slotPaintBackground(const TQPixmap &pm); ++ void slotForcePaintBackground(); + + protected: + virtual bool x11Event(XEvent *); +@@ -181,6 +182,7 @@ + bool mForceReject; + TQDialog *currentDialog; + ++ TQTimer* mEnsureScreenHiddenTimer; + TQTimer* mForceContinualLockDisplayTimer; + TQTimer* mEnsureVRootWindowSecurityTimer; + TQTimer* mHackDelayStartupTimer; diff --git a/redhat/kdebase/kdebase-3.5.13-kdesu_showkeeppassword.patch b/redhat/kdebase/kdebase-3.5.13-kdesu_showkeeppassword.patch new file mode 100644 index 000000000..565e1790d --- /dev/null +++ b/redhat/kdebase/kdebase-3.5.13-kdesu_showkeeppassword.patch @@ -0,0 +1,11 @@ +--- kdebase/kdesu/kdesu/kdesu.cpp.orig 2011-10-26 21:06:48.000000000 +0200 ++++ kdebase/kdesu/kdesu/kdesu.cpp 2012-01-01 16:54:11.468303046 +0100 +@@ -274,7 +274,7 @@ + + // Try to exec the command with kdesud. + bool keep = !args->isSet("n") && have_daemon; +- bool terminal = true; ++ bool terminal = args->isSet("t"); + bool new_dcop = args->isSet("newdcop"); + bool withIgnoreButton = args->isSet("ignorebutton"); + diff --git a/redhat/kdebase/kdebase-3.5.13-konq_icon_effect.patch b/redhat/kdebase/kdebase-3.5.13-konq_icon_effect.patch new file mode 100644 index 000000000..3ac7144e2 --- /dev/null +++ b/redhat/kdebase/kdebase-3.5.13-konq_icon_effect.patch @@ -0,0 +1,19 @@ +diff -urN /dev/shm/kdebase/konqueror/listview/konq_listviewwidget.cc /dev/shm/kdebase.new/konqueror/listview/konq_listviewwidget.cc +--- /dev/shm/kdebase/konqueror/listview/konq_listviewwidget.cc 2011-08-11 00:25:51.000000000 -0500 ++++ /dev/shm/kdebase.new/konqueror/listview/konq_listviewwidget.cc 2011-12-03 20:55:00.000000000 -0600 +@@ -1009,10 +1009,11 @@ + // gather pixmap + TQPixmap *pix = new TQPixmap(*(_item->pixmap(0))); + +- // call the icon effect +- KIconEffect::visualActivate(viewport(), rect, pix); +- +- delete(pix); ++ // call the icon effect if enabled ++ if (KGlobalSettings::showKonqIconActivationEffect() == true) { ++ KIconEffect::visualActivate(viewport(), rect, pix); ++ delete(pix); ++ } + } + } + else diff --git a/redhat/kdebase/kdebase-3.5.13-kpersonalizer_default_doubleclick.patch b/redhat/kdebase/kdebase-3.5.13-kpersonalizer_default_doubleclick.patch new file mode 100644 index 000000000..e2ece8166 --- /dev/null +++ b/redhat/kdebase/kdebase-3.5.13-kpersonalizer_default_doubleclick.patch @@ -0,0 +1,41 @@ +diff -urN kdebase/kpersonalizer/kospage.cpp kdebase.new2/kpersonalizer/kospage.cpp +--- kdebase/kpersonalizer/kospage.cpp 2011-08-21 02:08:16.000000000 -0500 ++++ kdebase.new2/kpersonalizer/kospage.cpp 2011-12-22 09:27:39.000000000 -0600 +@@ -142,7 +142,7 @@ + ckcmdisplay->writeEntry("macStyle", false, true, true); + + cglobal->setGroup("KDE"); +- cglobal->writeEntry("SingleClick", true, true, true); ++ cglobal->writeEntry("SingleClick", false, true, true); + + claunch->setGroup("FeedbackStyle"); + claunch->writeEntry("BusyCursor", false); +@@ -351,8 +351,8 @@ + textview_ospage->setText(i18n( + "<b>Window activation:</b> <i>Focus on click</i><br>" + "<b>Titlebar double-click:</b> <i>Shade window</i><br>" +- "<b>Mouse selection:</b> <i>Single click</i><br>" +- "<b>Application startup notification:</b> <i>busy cursor</i><br>" ++ "<b>Mouse selection:</b> <i>Double click</i><br>" ++ "<b>Application startup notification:</b> <i>none</i><br>" + "<b>Keyboard scheme:</b> <i>Trinity default</i><br>" + )); + } +@@ -376,7 +376,7 @@ + "<b>Window activation:</b> <i>Focus on click</i><br>" + "<b>Titlebar double-click:</b> <i>Maximize window</i><br>" + "<b>Mouse selection:</b> <i>Double click</i><br>" +- "<b>Application startup notification:</b> <i>busy cursor</i><br>" ++ "<b>Application startup notification:</b> <i>none</i><br>" + "<b>Keyboard scheme:</b> <i>Windows</i><br>" + )); + } +@@ -400,7 +400,7 @@ + b_MacMenuBar = ckcmdisplay->readBoolEntry("macStyle", false); + + cglobal->setGroup("KDE"); +- b_SingleClick = cglobal->readBoolEntry("SingleClick", true); ++ b_SingleClick = cglobal->readBoolEntry("SingleClick", false); + + claunch->setGroup("FeedbackStyle"); + b_BusyCursor = claunch->readBoolEntry("BusyCursor", false); diff --git a/redhat/kdebase/kdebase-3.5.13-randrtray_merge_x11_reconfig_requests.patch b/redhat/kdebase/kdebase-3.5.13-randrtray_merge_x11_reconfig_requests.patch new file mode 100644 index 000000000..e17ae11b5 --- /dev/null +++ b/redhat/kdebase/kdebase-3.5.13-randrtray_merge_x11_reconfig_requests.patch @@ -0,0 +1,51 @@ +Index: krandrapp.cpp +=================================================================== +--- kcontrol/randr/krandrapp.cpp (revision 1261452) ++++ kcontrol/randr/krandrapp.cpp (working copy) +@@ -28,13 +28,20 @@ + KRandRApp::KRandRApp() + : m_tray(new KRandRSystemTray(0L, "RANDRTray")) + { ++ connect(&m_eventMergingTimer, TQT_SIGNAL(timeout()), this, TQT_SLOT(handleX11ConfigChangeEvent())); + m_tray->show(); + } + ++void KRandRApp::handleX11ConfigChangeEvent() ++{ ++ m_eventMergingTimer.stop(); ++ m_tray->configChanged(); ++} ++ + bool KRandRApp::x11EventFilter(XEvent* e) + { + if (e->type == m_tray->screenChangeNotifyEvent()) { +- m_tray->configChanged(); ++ m_eventMergingTimer.start(1000, TRUE); + } + return KApplication::x11EventFilter( e ); + } +Index: krandrapp.h +=================================================================== +--- kcontrol/randr/krandrapp.h (revision 1261452) ++++ kcontrol/randr/krandrapp.h (working copy) +@@ -19,6 +19,7 @@ + #ifndef KRANDRAPP_H + #define KRANDRAPP_H + ++#include <tqtimer.h> + #include <kuniqueapplication.h> + + class KRandRSystemTray; +@@ -32,8 +33,12 @@ + + virtual bool x11EventFilter(XEvent * e); + ++private slots: ++ void handleX11ConfigChangeEvent(); ++ + private: + KRandRSystemTray* m_tray; ++ TQTimer m_eventMergingTimer; + }; + + #endif diff --git a/redhat/kdebase/kdebase-3.5.13-randrtray_merge_x11_reconfig_requests.patch~ b/redhat/kdebase/kdebase-3.5.13-randrtray_merge_x11_reconfig_requests.patch~ new file mode 100644 index 000000000..e17ae11b5 --- /dev/null +++ b/redhat/kdebase/kdebase-3.5.13-randrtray_merge_x11_reconfig_requests.patch~ @@ -0,0 +1,51 @@ +Index: krandrapp.cpp +=================================================================== +--- kcontrol/randr/krandrapp.cpp (revision 1261452) ++++ kcontrol/randr/krandrapp.cpp (working copy) +@@ -28,13 +28,20 @@ + KRandRApp::KRandRApp() + : m_tray(new KRandRSystemTray(0L, "RANDRTray")) + { ++ connect(&m_eventMergingTimer, TQT_SIGNAL(timeout()), this, TQT_SLOT(handleX11ConfigChangeEvent())); + m_tray->show(); + } + ++void KRandRApp::handleX11ConfigChangeEvent() ++{ ++ m_eventMergingTimer.stop(); ++ m_tray->configChanged(); ++} ++ + bool KRandRApp::x11EventFilter(XEvent* e) + { + if (e->type == m_tray->screenChangeNotifyEvent()) { +- m_tray->configChanged(); ++ m_eventMergingTimer.start(1000, TRUE); + } + return KApplication::x11EventFilter( e ); + } +Index: krandrapp.h +=================================================================== +--- kcontrol/randr/krandrapp.h (revision 1261452) ++++ kcontrol/randr/krandrapp.h (working copy) +@@ -19,6 +19,7 @@ + #ifndef KRANDRAPP_H + #define KRANDRAPP_H + ++#include <tqtimer.h> + #include <kuniqueapplication.h> + + class KRandRSystemTray; +@@ -32,8 +33,12 @@ + + virtual bool x11EventFilter(XEvent * e); + ++private slots: ++ void handleX11ConfigChangeEvent(); ++ + private: + KRandRSystemTray* m_tray; ++ TQTimer m_eventMergingTimer; + }; + + #endif diff --git a/redhat/kdebase/kdebase-3.5.13-restore_kde3_clock.patch b/redhat/kdebase/kdebase-3.5.13-restore_kde3_clock.patch new file mode 100644 index 000000000..2b697330d --- /dev/null +++ b/redhat/kdebase/kdebase-3.5.13-restore_kde3_clock.patch @@ -0,0 +1,104 @@ +Index: kicker/applets/systemtray/systemtrayapplet.cpp +=================================================================== +--- kicker/applets/systemtray/systemtrayapplet.cpp (revision 1262481) ++++ kicker/applets/systemtray/systemtrayapplet.cpp (working copy) +@@ -34,6 +34,7 @@ + #include <tqstyle.h> + #include <tqgrid.h> + #include <tqpainter.h> ++#include <tqimage.h> + + #include <dcopclient.h> + #include <kapplication.h> +Index: kicker/applets/clock/clock.h +=================================================================== +--- kicker/applets/clock/clock.h (revision 1262481) ++++ kicker/applets/clock/clock.h (working copy) +@@ -41,7 +41,6 @@ + + #include <kickertip.h> + #include "settings.h" +-#include "kshadowengine.h" + + class TQTimer; + class TQBoxLayout; +@@ -283,8 +282,6 @@ + TQDate clockGetDate(); + + virtual void updateKickerTip(KickerTip::Data&); +- +- KTextShadowEngine *shadowEngine(); + + k_dcop: + void reconfigure(); +@@ -344,7 +341,6 @@ + TQStringList _remotezonelist; + KPopupMenu* menu; + ClockAppletToolTip m_tooltip; +- KTextShadowEngine *m_shadowEngine; + }; + + +Index: kicker/applets/clock/clock.cpp +=================================================================== +--- kicker/applets/clock/clock.cpp (revision 1262481) ++++ kicker/applets/clock/clock.cpp (working copy) +@@ -277,10 +277,7 @@ + { + TQRect tr(0, 0, width(), height()); + +- if (!KickerSettings::transparent()) +- p->drawText(tr, AlignCenter, _timeStr); +- else +- _applet->shadowEngine()->drawText(*p, tr, AlignCenter, _timeStr, size()); ++ p->drawText(tr, AlignCenter, _timeStr); + } + + //************************************************************ +@@ -862,10 +859,7 @@ + else + tr = TQRect(4, 2, width() - 8, height() - 4); + +- if (!KickerSettings::transparent()) +- p->drawText(tr, AlignCenter, _timeStr); +- else +- _applet->shadowEngine()->drawText(*p, tr, AlignCenter, _timeStr, size()); ++ p->drawText(tr, AlignCenter, _timeStr); + + alreadyDrawing = false; + } +@@ -899,8 +893,7 @@ + _prefs(new Prefs(sharedConfig())), + zone(new Zone(config())), + menu(0), +- m_tooltip(this), +- m_shadowEngine(0) ++ m_tooltip(this) + { + DCOPObject::setObjId("ClockApplet"); + _prefs->readConfig(); +@@ -938,7 +931,6 @@ + + ClockApplet::~ClockApplet() + { +- delete m_shadowEngine; + //reverse for the moment + KGlobal::locale()->removeCatalogue("clockapplet"); + KGlobal::locale()->removeCatalogue("timezones"); // For time zone translations +@@ -959,15 +951,7 @@ + } + + +-KTextShadowEngine *ClockApplet::shadowEngine() +-{ +- if (!m_shadowEngine) +- m_shadowEngine = new KTextShadowEngine(); + +- return m_shadowEngine; +-} +- +- + int ClockApplet::widthForHeight(int h) const + { + if (orientation() == Qt::Vertical) + diff --git a/redhat/kdebase/kdebase-3.5.13-startkde_directories.patch b/redhat/kdebase/kdebase-3.5.13-startkde_directories.patch index 504196ee4..0ac005184 100644 --- a/redhat/kdebase/kdebase-3.5.13-startkde_directories.patch +++ b/redhat/kdebase/kdebase-3.5.13-startkde_directories.patch @@ -4,7 +4,7 @@ # echo "[startkde] Starting startkde." 1>&2 -+export KDEDIR="${KDEDIR:-/opt/trinity}" ++export KDEDIR="/opt/trinity" # When the X server dies we get a HUP signal from xinit. We must ignore it # because we still need to do some cleanup. diff --git a/redhat/kdebase/kdebase-3.5.13-startkde_directories.patch~ b/redhat/kdebase/kdebase-3.5.13-startkde_directories.patch~ new file mode 100644 index 000000000..0ac005184 --- /dev/null +++ b/redhat/kdebase/kdebase-3.5.13-startkde_directories.patch~ @@ -0,0 +1,118 @@ +--- kdebase/startkde.ORI 2011-12-12 20:09:21.984162840 +0100 ++++ kdebase/startkde 2011-12-12 20:08:27.922834925 +0100 +@@ -4,6 +4,7 @@ + # + + echo "[startkde] Starting startkde." 1>&2 ++export KDEDIR="/opt/trinity" + + # When the X server dies we get a HUP signal from xinit. We must ignore it + # because we still need to do some cleanup. +@@ -74,39 +75,10 @@ + echo "[startkde] KDEHOME is preset to $KDEHOME." 1>&2 + export KDEHOME=$KDEHOME + else +- # $KDEHOME is NOT already preset in the environment. Try to help. +- # This might be overkill but does provide flexibility. ++ # $KDEHOME is NOT already preset in the environment. ++ # We always use ~/.trinity as default. + echo "[startkde] KDEHOME is not set." 1>&2 +- if [ -d $HOME/.trinity ]; then +- # OK, this one is obvious. +- export KDEHOME=$HOME/.trinity +- elif [ -d $HOME/.trinity ]; then +- # Looks like the user had an old version of Trinity installed at last login +- echo "[startkde] Migrating old ~/.trinity directory to new ~/.trinity name." 1>&2 +- mv $HOME/.trinity $HOME/.trinity +- export KDEHOME=$HOME/.trinity +- elif [ -f /usr/bin/kde4-config ]; then +- # Looks like KDE4 is installed. +- if [ -d $HOME/.kde ] && [ ! -d $HOME/.trinity ]; then +- # Presume $HOME/.kde is being used for KDE4 as it already exists. +- export KDEHOME=$HOME/.trinity +- else +- # Presume $HOME/.kde is being used for KDE4 to be on the safe side. +- export KDEHOME=$HOME/.trinity +- fi +- elif [ -f /opt/trinity/bin/kde-config ]; then +- # Looks like KDE3 or Trinity is installed and playing second fiddle to KDE4. +- export KDEHOME=$HOME/.trinity +- elif [ -f /opt/trinity/bin/kde-config ]; then +- # Looks like KDE3 or Trinity is installed and playing second fiddle to KDE4. +- export KDEHOME=$HOME/.trinity +- elif [ -f /usr/bin/kde-config ] && [ -d $HOME/.kde ]; then +- # Looks like KDE3 or Trinity is installed and not playing second fiddle to KDE4. +- export KDEHOME=$HOME/.kde +- else +- # Resort to this and hope for the best! +- export KDEHOME=$HOME/.trinity +- fi ++ export KDEHOME=$HOME/.trinity + echo "[startkde] Set KDEHOME to $KDEHOME." 1>&2 + fi + +@@ -117,51 +89,25 @@ + fi + + # Modify the following environment variables only as necessary. +-if [ -d /opt/trinity/games ]; then +- export PATH=/opt/trinity/games:$PATH +-fi +-if [ -d /opt/trinity/bin ]; then +- export PATH=/opt/trinity/bin:$PATH +-fi +-if [ -d /opt/trinity/games ]; then +- export PATH=/opt/trinity/games:$PATH +-fi +-if [ -d /opt/trinity/bin ]; then +- export PATH=/opt/trinity/bin:$PATH +-fi +-if [ -d /opt/trinity/share ]; then +- export XDG_DATA_DIRS=$XDG_DATA_DIRS:/opt/trinity/share/:/usr/share/ +-fi +-if [ -d /opt/trinity/share ]; then +- export XDG_DATA_DIRS=$XDG_DATA_DIRS:/opt/trinity/share/:/usr/share/ ++if [ -d ${KDEDIR}/games ]; then ++ export PATH=${KDEDIR}/games:$PATH + fi +-if [ -d /opt/trinity/etc/xdg ]; then +- export XDG_CONFIG_DIRS=$XDG_CONFIG_DIRS:/opt/trinity/etc/xdg/:/etc/xdg/ ++if [ -d ${KDEDIR}/bin ]; then ++ export PATH=${KDEDIR}/bin:$PATH + fi +-if [ -d /opt/trinity/etc/xdg ]; then +- export XDG_CONFIG_DIRS=$XDG_CONFIG_DIRS:/opt/trinity/etc/xdg/:/etc/xdg/ ++if [ -d ${KDEDIR}/share ]; then ++ export XDG_DATA_DIRS=$XDG_DATA_DIRS:${KDEDIR}/share/:/usr/share/ + fi +-if [ -d /opt/trinity/share/man ]; then +- export MANPATH=/opt/trinity/share/man:$MANPATH ++if [ -d ${KDEDIR}/etc/xdg ]; then ++ export XDG_CONFIG_DIRS=$XDG_CONFIG_DIRS:${KDEDIR}/etc/xdg/:/etc/xdg/ + fi +-if [ -d /opt/trinity/share/man ]; then +- export MANPATH=/opt/trinity/share/man:$MANPATH +-fi +-if [ -d /opt/trinity ]; then +- if [ -n "$KDEDIRS" ]; then +- export KDEDIRS=$KDEDIRS:/opt/trinity/:/usr/ +- else +- export KDEDIRS=/opt/trinity/:/usr/ +- fi +-fi +-if [ -d /opt/trinity ]; then +- if [ -n "$KDEDIRS" ]; then +- export KDEDIRS=$KDEDIRS:/opt/trinity/:/usr/ +- else +- export KDEDIRS=/opt/trinity/:/usr/ +- fi ++if [ -d ${KDEDIR}/share/man ]; then ++ export MANPATH=${KDEDIR}/share/man:$MANPATH + fi + ++# The TDE directory must be first in $KDEDIRS ++export KDEDIRS=${KDEDIR}/:$KDEDIRS:/usr/ ++ + test -n "$KDEHOME" && kdehome=`echo "$KDEHOME" | sed "s,^~/,$HOME/,"` + echo "[startkde] kdehome: $kdehome" 1>&2 + diff --git a/redhat/kdebase/trinity-kdebase-3.5.12.spec b/redhat/kdebase/trinity-kdebase-3.5.12.spec index 1f889cbdd..9786ac73d 100644 --- a/redhat/kdebase/trinity-kdebase-3.5.12.spec +++ b/redhat/kdebase/trinity-kdebase-3.5.12.spec @@ -2,7 +2,7 @@ %if "%{?version}" == "" %define version 3.5.12 %endif -%define release 13 +%define release 14 # If TDE is built in a specific prefix (e.g. /opt/trinity), the release will be suffixed with ".opt". %if "%{?_prefix}" != "/usr" @@ -84,6 +84,8 @@ Patch14: kdebase-3.5.12-kickoff_unstable.patch Patch15: kdebase-3.5.13-startkde_icon.patch ## [kdebase/startkde] Fixes duplicate and incorrect TDE directories location Patch16: kdebase-3.5.12-startkde_directories.patch +## [kdebase/kdesktop/lock] Fix missing black background +Patch17: kdebase-3.5.12-kdesktop_lock_fix.patch # TDE unofficial patches for enhanced features ## [kdebase/kate] Restores the 'number of files' and sorting widgets to the Kate configuration @@ -290,6 +292,7 @@ Protocol handlers (KIOslaves) for personal information management, including: %patch14 -p1 %patch15 -p1 %patch16 -p1 +%patch17 -p1 %patch20 -p4 %if 0%{?rhel} > 0 @@ -669,6 +672,9 @@ update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : %exclude %{_libdir}/libkdeinit_*.* %changelog +* Wed Dec 21 2011 Francois Andriot <francois.andriot@free.fr> - 3.5.12-14 +- Fix kdesktop_lock missing black background on kscreensaver failure + * Thu Dec 11 2011 Francois Andriot <francois.andriot@free.fr> - 3.5.12-13 - Backports patches from TDE 3.5.13-10 - Removes Kubuntu branding [TDE Bug #449] diff --git a/redhat/kdebase/trinity-kdebase-3.5.13.spec b/redhat/kdebase/trinity-kdebase-3.5.13.spec index 82c442819..4b1e2b4a6 100644 --- a/redhat/kdebase/trinity-kdebase-3.5.13.spec +++ b/redhat/kdebase/trinity-kdebase-3.5.13.spec @@ -2,7 +2,7 @@ %if "%{?version}" == "" %define version 3.5.13 %endif -%define release 13 +%define release 14 # If TDE is built in a specific prefix (e.g. /opt/trinity), the release will be suffixed with ".opt". %if "%{?_prefix}" != "/usr" @@ -54,8 +54,6 @@ Source5: pamd.kscreensaver-trinity%{?dist} # (none) # TDE unofficial patches, fixing FTBFS -## [kdebase/kdm] adds gcrypt support -Patch7: kdebase-3.5.13-kdm-crypt.patch ## [kdebase/kioslave/media/mediamanager] FTBFS missing dbus-tqt includes Patch8: kdebase-3.5.13-mediamanager_ftbfs.patch ## [kdebase/startkde] Hardcoded path '/usr/lib/xxx' in startkde, not suitable for x86_64 @@ -74,18 +72,32 @@ Patch13: kdebase-3.5.13-genkdmconf_Xsession_location.patch Patch14: kdebase-3.5.13-kickoff_unstable.patch ## [kdebase/startkde] Sets default Start Icon in 'kickerrc' Patch15: kdebase-3.5.13-startkde_icon.patch -## [kdebase/startkde] Fixes duplicate and incorrect TDE directories location +## [kdebase/startkde] Fixes duplicate and incorrect TDE directories location [Bug #741] Patch16: kdebase-3.5.13-startkde_directories.patch -# TDE unofficial patches for enhanced features -## [kdebase/kate] Restores the 'number of files' and sorting widgets to the Kate configuration +# TDE unofficial patches for enhanced features or bugfixes. +## [kdebase/kdm] adds gcrypt support [Bug #624] +Patch7: kdebase-3.5.13-kdm-crypt.patch +## [kdebase/kate] Restores the 'number of files' and sorting widgets to the Kate configuration [Bug #244] Patch20: kdebase-3.5.13-kate_mru.patch -## [kdebase/kioslave/man] Fix kio_man for older distros without 'man-db' +## [kdebase/kioslave/man] Fix kio_man for older distros without 'man-db' [Bug #714] Patch21: kdebase-3.5.13-kio_man_utf8.patch -## [kdebase/konqueror] Re-enable 'open tab in background' +## [kdebase/konqueror] Re-enable 'open tab in background' [Bug #245] Patch22: kdebase-3.5.13-konq_menu_tab_background.patch -## [kdebase/konqueror/sidebar] Fix error message on documents parent folder +## [kdebase/konqueror/sidebar] Fix error message on documents parent folder [Bug #723] Patch23: kdebase-3.5.13-konqsidebar_documents.patch +## [kdebase/konqueror/listview] Konqueror Icon Activation Effect [Bug #335] +Patch24: kdebase-3.5.13-konq_icon_effect.patch +## [kdebase/kdesu] Restores the "Keep password" check box to the kdesu dialog box [Bug #388] +Patch25: kdebase-3.5.13-kdesu_showkeeppassword.patch +## [kdebase/kpersonalizer] Repair KPersonalizer settings to match system defaults [Bug #759] +Patch26: kdebase-3.5.13-kpersonalizer_default_doubleclick.patch +## [kdebase/kicker] Restores the original KDE3 clock [Bug #387] +Patch27: kdebase-3.5.13-restore_kde3_clock.patch +## [kdebase/kcontrol/randr] Implement X11 event merging in krandrtray [Bug #758] +Patch28: kdebase-3.5.13-randrtray_merge_x11_reconfig_requests.patch +## [kdebase/kdesktop/lock] Fix multihead screen locking [Bug #669] +Patch29: kdebase-3.5.13-fix_multihead_desktop_lock.patch # Fedora 15 Theme: "Lovelock" %if 0%{?fedora} == 15 @@ -182,6 +194,7 @@ Requires: redhat-menus #Provides: kdebase%{?_qt_suffix} = %{version} %if "%{?_prefix}" == "/usr" +Provides: kdebase%{?_qt_suffix} = %{version} Obsoletes: kdebase%{?_qt_suffix} <= 3.5.10 %endif @@ -206,8 +219,8 @@ Requires: %{name} Requires: %{name}-libs = %{version}-%{release} Requires: trinity-kdelibs-devel Summary: %{summary} - Development files -#Provides: kdebase%{?_qt_suffix}-devel = %{version} %if "%{?_prefix}" == "/usr" +Provides: kdebase%{?_qt_suffix}-devel = %{version} Obsoletes: kdebase%{?_qt_suffix}-devel <= 3.5.10 %endif @@ -222,9 +235,9 @@ Kate plugins or KWin styles. Summary: Extra applications from %{name} Group: User Interface/Desktops Requires: %{name} = %{version}-%{release} -#Provides: kdebase%{?_qt_suffix}-extras = %{version} %if "%{?_prefix}" == "/usr" -Obsoletes: kdebase%{?_qt_suffix}-extras <= 3.5.10 +Provides: kdebase%{?_qt_suffix}-extras = %{version} +Obsoletes: kdebase%{?_qt_suffix}-extras <= 3.5.10 %endif %description extras %{summary}, including: @@ -238,9 +251,9 @@ Obsoletes: kdebase%{?_qt_suffix}-extras <= 3.5.10 Summary: %{name} runtime libraries Group: System Environment/Libraries Requires: trinity-kdelibs -#Provides: kdebase%{?_qt_suffix}-libs = %{version} %if "%{?_prefix}" == "/usr" -Obsoletes: kdebase%{?_qt_suffix}-libs <= 3.5.10 +Provides: kdebase%{?_qt_suffix}-libs = %{version} +Obsoletes: kdebase%{?_qt_suffix}-libs <= 3.5.10 %endif Requires: %{name} = %{version}-%{release} %description libs @@ -250,9 +263,9 @@ Requires: %{name} = %{version}-%{release} %package pim-ioslaves Summary: PIM KIOslaves from %{name} Group: System Environment/Libraries -#Provides: kdebase%{?_qt_suffix}-pim-ioslaves = %{version} %if "%{?_prefix}" == "/usr" -Obsoletes: kdebase%{?_qt_suffix}-pim-ioslaves <= 3.5.10 +Provides: kdebase%{?_qt_suffix}-pim-ioslaves = %{version} +Obsoletes: kdebase%{?_qt_suffix}-pim-ioslaves <= 3.5.10 %endif %description pim-ioslaves Protocol handlers (KIOslaves) for personal information management, including: @@ -282,22 +295,28 @@ Protocol handlers (KIOslaves) for personal information management, including: %endif %patch22 -p1 %patch23 -p1 +%patch24 -p4 +%patch25 -p1 +%patch26 -p1 +%patch27 -p0 +%patch28 -p0 +%patch29 -p0 # Applies an optional distro-specific graphical theme %if "%{?tde_bg}" != "" # KDM Background %__sed -i "kdm/kfrontend/genkdmconf.c" \ - -e 's,"Wallpaper=isadora.png\n","Wallpaper=%{tde_bg}\n",' + -e 's|"Wallpaper=isadora.png\n"|"Wallpaper=%{tde_bg}\n"|' # TDE user default background %__sed -i "kpersonalizer/keyecandypage.cpp" \ - -e 's,#define DEFAULT_WALLPAPER "isadora.png",#define DEFAULT_WALLPAPER "%{tde_bg}",' + -e 's|#define DEFAULT_WALLPAPER "isadora.png"|#define DEFAULT_WALLPAPER "%{tde_bg}"|' %__sed -i "startkde" \ - -e 's,/usr/share/wallpapers/isadora.png.desktop,%{tde_bg},' \ - -e 's,Wallpaper=isadora.png,Wallpaper=%{tde_bg},' + -e 's|/usr/share/wallpapers/isadora.png.desktop|%{tde_bg}|' \ + -e 's|Wallpaper=isadora.png|Wallpaper=%{tde_bg}|' %endif -# TDE branding: removes KUbuntu references +# TDE branding: removes KUbuntu references [Bug #617] %__sed -i "kcontrol/kdm/kdm-appear.cpp" \ -e "s|Welcome to Kubuntu |Welcome to %{tde_aboutlabel} |" %__sed -i "konqueror/about/konq_aboutpage.cc" \ @@ -667,25 +686,33 @@ update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : %{_datadir}/cmake/*.cmake %changelog +* Mon Jan 02 2012 Francois Andriot <francois.andriot@free.fr> - 3.5.13-14 +- Fix Konqueror Icon Activation Effect [Bug #335] +- Restores the "Keep password" check box to the kdesu dialog box [Bug #388] +- Repair KPersonalizer settings to match system defaults [Bug #759] +- Restores the original KDE3 clock [Bug #387] +- Implement X11 event merging in krandrtray [Bug #758] +- Fix multihead screen locking [Bug #669] + * Mon Dec 12 2011 Francois Andriot <francois.andriot@free.fr> - 3.5.13-13 - Fix variables (again) * Sun Dec 11 2011 Francois Andriot <francois.andriot@free.fr> - 3.5.13-12 -- Fix KDEDIRS and other variables in 'startkde', that messes up translations. +- Fix KDEDIRS and other variables in 'startkde', that messes up translations. [Bug #741] * Sat Dec 10 2011 Francois Andriot <francois.andriot@free.fr> - 3.5.13-11 -- Fix error message 'cannot find parent folder' on konqueror sidebar. +- Fix error message 'cannot find parent folder' on konqueror sidebar. [Bug #723] * Sat Dec 03 2011 Francois Andriot <francois.andriot@free.fr> - 3.5.13-10 -- Removes Kubuntu branding [TDE Bug #449] -- Re-enables 'open tab in background' konqueror feature [TDE Bug #245] +- Removes Kubuntu branding [Bug #449] +- Re-enables 'open tab in background' konqueror feature [Bug #245] * Wed Nov 29 2011 Francois Andriot <francois.andriot@free.fr> - 3.5.13-9 -- Fix 'kio_man' on RHEL 5 and RHEL 6 [TDE Bug #714] -- Restores the 'number of files' and sorting widgets to the Kate configuration [TDE Bug #244] +- Fix 'kio_man' on RHEL 5 and RHEL 6 [Bug #714] +- Restores the 'number of files' and sorting widgets to the Kate configuration [Bug #244] * Fri Nov 18 2011 Francois Andriot <francois.andriot@free.fr> - 3.5.13-8 -- Updates Kickoff menu Fix [TDE Bugs #281, #508] +- Updates Kickoff menu Fix [Bugs #281, #508] - Adds KDM gcrypt dependency * Sun Nov 13 2011 Francois Andriot <francois.andriot@free.fr> - 3.5.13-7 @@ -697,7 +724,7 @@ update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : * Fri Nov 11 2011 Francois Andriot <francois.andriot@free.fr> - 3.5.13-5 - Add "service(graphical-login)" -- Add kickoff menu fix [TDE Bug #508] +- Add kickoff menu fix [Bug #508] - kdmrc: sets "MinShowUID=500" * Tue Nov 08 2011 Francois Andriot <francois.andriot@free.fr> - 3.5.13-4 |