From b872dae409a2b2d6f9934cbf62a36e9af7929a58 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Wed, 23 Mar 2011 14:47:28 -0500 Subject: [PATCH] Constant spinning of cd/dvd drive ... (#690123, kde#264487) --- kdelibs-4.6.1-kde264487.patch | 75 +++++++++++++++++++++++++++++++++++ kdelibs.spec | 8 +++- 2 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 kdelibs-4.6.1-kde264487.patch diff --git a/kdelibs-4.6.1-kde264487.patch b/kdelibs-4.6.1-kde264487.patch new file mode 100644 index 0000000..a7dbf30 --- /dev/null +++ b/kdelibs-4.6.1-kde264487.patch @@ -0,0 +1,75 @@ +diff -up kdelibs-4.6.1/solid/solid/backends/udisks/udisksopticaldisc.cpp.kde264487 kdelibs-4.6.1/solid/solid/backends/udisks/udisksopticaldisc.cpp +--- kdelibs-4.6.1/solid/solid/backends/udisks/udisksopticaldisc.cpp.kde264487 2011-02-25 16:00:34.000000000 -0600 ++++ kdelibs-4.6.1/solid/solid/backends/udisks/udisksopticaldisc.cpp 2011-03-23 14:46:15.767586207 -0500 +@@ -162,9 +162,9 @@ out: + using namespace Solid::Backends::UDisks; + + OpticalDisc::OpticalDisc(UDisksDevice *device) +- : UDisksStorageVolume(device) ++ : UDisksStorageVolume(device), m_needsReprobe(true), m_cachedContent(Solid::OpticalDisc::NoContent) + { +- ++ connect(device, SIGNAL(changed()), this, SLOT(slotChanged())); + } + + OpticalDisc::~OpticalDisc() +@@ -228,21 +228,35 @@ Solid::OpticalDisc::DiscType OpticalDisc + + Solid::OpticalDisc::ContentTypes OpticalDisc::availableContent() const + { +- Solid::OpticalDisc::ContentTypes content = Solid::OpticalDisc::NoContent; +- +- if (!isBlank()) ++ if (isBlank()) { ++ m_needsReprobe = false; ++ return Solid::OpticalDisc::NoContent; ++ } ++ ++ if (m_needsReprobe) + { ++ m_cachedContent = Solid::OpticalDisc::NoContent; ++ + bool hasData = m_device->prop("OpticalDiscNumTracks").toInt() > 0; + bool hasAudio = m_device->prop("OpticalDiscNumAudioTracks").toInt() > 0; + + if ( hasData ) +- content |= Solid::OpticalDisc::Data; ++ m_cachedContent |= Solid::OpticalDisc::Data; + if ( hasAudio ) +- content |= Solid::OpticalDisc::Audio; ++ m_cachedContent |= Solid::OpticalDisc::Audio; ++ ++ m_cachedContent |= advancedDiscDetect(m_device->property("DeviceFile").toString()); + +- content |= advancedDiscDetect(m_device->prop("DeviceFile").toString()); ++ m_needsReprobe = false; + } + +- return content; ++ return m_cachedContent; + } + ++void Solid::Backends::UDisks::OpticalDisc::slotChanged() ++{ ++ m_needsReprobe = true; ++ m_cachedContent = Solid::OpticalDisc::NoContent; ++} ++ ++ +diff -up kdelibs-4.6.1/solid/solid/backends/udisks/udisksopticaldisc.h.kde264487 kdelibs-4.6.1/solid/solid/backends/udisks/udisksopticaldisc.h +--- kdelibs-4.6.1/solid/solid/backends/udisks/udisksopticaldisc.h.kde264487 2011-02-25 15:53:32.000000000 -0600 ++++ kdelibs-4.6.1/solid/solid/backends/udisks/udisksopticaldisc.h 2011-03-23 14:41:27.523063466 -0500 +@@ -48,6 +48,13 @@ public: + virtual bool isAppendable() const; + virtual Solid::OpticalDisc::DiscType discType() const; + virtual Solid::OpticalDisc::ContentTypes availableContent() const; ++ ++private slots: ++ void slotChanged(); ++ ++private: ++ mutable bool m_needsReprobe; ++ mutable Solid::OpticalDisc::ContentTypes m_cachedContent; + }; + + } diff --git a/kdelibs.spec b/kdelibs.spec index d27ba27..353d92c 100644 --- a/kdelibs.spec +++ b/kdelibs.spec @@ -16,7 +16,7 @@ Summary: KDE Libraries Version: 4.6.1 -Release: 4%{?dist} +Release: 5%{?dist} Name: kdelibs Epoch: 6 @@ -89,6 +89,8 @@ Patch27: kdelibs-4.5.80-no_rpath.patch # reverting to our past gnupg2-only setup. # TODO: try to use either gpg or gpg2, whichever is available Patch50: kdelibs-4.5.1-knewstuff_gpg2.patch +# https://bugs.kde.org/show_bug.cgi?id=264487#c2 +Patch51: kdelibs-4.6.1-kde264487.patch ## upstream # https://projects.kde.org/projects/kde/kdelibs/repository/revisions/51707e7154082b549216b8a8ecde73505302fadc @@ -278,6 +280,7 @@ sed -i -e "s|@@VERSION_RELEASE@@|%{version}-%{release}|" kio/kio/kprotocolmanage # upstreamable patches %patch50 -p1 -b .knewstuff_gpg2 +%patch51 -p1 -b .kde264487 # upstream patches %patch100 -p1 -b .dirlister @@ -537,6 +540,9 @@ rm -rf %{buildroot} %changelog +* Wed Mar 23 2011 Rex Dieter 4.6.1-5 +- Constant spinning of cd/dvd drive ... (#690123, kde#264487) + * Fri Mar 11 2011 Kevin Kofler - 4.6.1-4 - use upstream patch for #682300 (kde#267770), my previous one didn't work