[clementine/f12/master] * Sun Aug 08 2010 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> - 0.4.2-9 - Only create the OpenG
Orcan Ogetbil
oget at fedoraproject.org
Thu Aug 12 03:04:00 UTC 2010
commit ca4cdf63daa911e1b7d84bf155bbaeb0d41a3c9d
Author: Orcan Ogetbil <oget.fedora at gmail.com>
Date: Wed Aug 11 23:04:00 2010 -0400
* Sun Aug 08 2010 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> - 0.4.2-9
- Only create the OpenGL graphics context when you first open the visualisations
window. Fixes RHBZ#621913
clementine-visualization-init.patch | 90 +++++++++++++++++++++++++++++++++++
clementine.spec | 11 ++++-
2 files changed, 100 insertions(+), 1 deletions(-)
---
diff --git a/clementine-visualization-init.patch b/clementine-visualization-init.patch
new file mode 100644
index 0000000..87f1af5
--- /dev/null
+++ b/clementine-visualization-init.patch
@@ -0,0 +1,90 @@
+diff -rupN clementine-0.4.2.old/src/visualisations/visualisationcontainer.cpp clementine-0.4.2/src/visualisations/visualisationcontainer.cpp
+--- clementine-0.4.2.old/src/visualisations/visualisationcontainer.cpp 2010-07-01 14:16:36.000000000 -0400
++++ clementine-0.4.2/src/visualisations/visualisationcontainer.cpp 2010-08-08 19:21:01.000000000 -0400
+@@ -40,6 +40,7 @@ const int VisualisationContainer::kDefau
+
+ VisualisationContainer::VisualisationContainer(QWidget *parent)
+ : QGraphicsView(parent),
++ initialised_(false),
+ engine_(NULL),
+ vis_(new ProjectMVisualisation(this)),
+ overlay_(new VisualisationOverlay),
+@@ -49,6 +50,16 @@ VisualisationContainer::VisualisationCon
+ fps_(kDefaultFps),
+ size_(kDefaultTextureSize)
+ {
++ QSettings s;
++ s.beginGroup(kSettingsGroup);
++ if (!restoreGeometry(s.value("geometry").toByteArray())) {
++ resize(kDefaultWidth, kDefaultHeight);
++ }
++ fps_ = s.value("fps", kDefaultFps).toInt();
++ size_ = s.value("size", kDefaultTextureSize).toInt();
++}
++
++void VisualisationContainer::Init() {
+ setWindowTitle(tr("Clementine Visualization"));
+ setWindowIcon(QIcon(":/icon.png"));
+
+@@ -66,17 +77,8 @@ VisualisationContainer::VisualisationCon
+ connect(overlay_, SIGNAL(ShowPopupMenu(QPoint)), SLOT(ShowPopupMenu(QPoint)));
+ ChangeOverlayOpacity(0.0);
+
+- // Load settings
+- QSettings s;
+- s.beginGroup(kSettingsGroup);
+- if (!restoreGeometry(s.value("geometry").toByteArray())) {
+- resize(kDefaultWidth, kDefaultHeight);
+- }
+- fps_ = s.value("fps", kDefaultFps).toInt();
+- size_ = s.value("size", kDefaultTextureSize).toInt();
+-
+- SizeChanged();
+ vis_->SetTextureSize(size_);
++ SizeChanged();
+
+ // Selector
+ selector_->SetVisualisation(vis_);
+@@ -130,6 +132,11 @@ void VisualisationContainer::SetEngine(G
+ }
+
+ void VisualisationContainer::showEvent(QShowEvent* e) {
++ if (!initialised_) {
++ Init();
++ initialised_ = true;
++ }
++
+ QGraphicsView::showEvent(e);
+ update_timer_.start(1000 / fps_, this);
+
+@@ -165,7 +172,8 @@ void VisualisationContainer::SizeChanged
+ scene()->setSceneRect(QRect(QPoint(0, 0), size()));
+
+ // Resize the overlay
+- overlay_->resize(size());
++ if (overlay_)
++ overlay_->resize(size());
+ }
+
+ void VisualisationContainer::timerEvent(QTimerEvent* e) {
+diff -rupN clementine-0.4.2.old/src/visualisations/visualisationcontainer.h clementine-0.4.2/src/visualisations/visualisationcontainer.h
+--- clementine-0.4.2.old/src/visualisations/visualisationcontainer.h 2010-07-01 14:16:36.000000000 -0400
++++ clementine-0.4.2/src/visualisations/visualisationcontainer.h 2010-08-08 19:21:15.000000000 -0400
+@@ -65,6 +65,8 @@ protected:
+ void keyReleaseEvent(QKeyEvent *event);
+
+ private:
++ void Init();
++
+ void SizeChanged();
+ void AddMenuItem(const QString& name, int value, int def,
+ QActionGroup* group, QSignalMapper* mapper);
+@@ -77,6 +79,8 @@ private slots:
+ void SetQuality(int size);
+
+ private:
++ bool initialised_;
++
+ GstEngine* engine_;
+ ProjectMVisualisation* vis_;
+ VisualisationOverlay* overlay_;
diff --git a/clementine.spec b/clementine.spec
index 9d02c40..aea4ad9 100644
--- a/clementine.spec
+++ b/clementine.spec
@@ -1,6 +1,6 @@
Name: clementine
Version: 0.4.2
-Release: 8%{?dist}
+Release: 9%{?dist}
Summary: A music player and library organizer
Group: Applications/Multimedia
@@ -34,6 +34,10 @@ Patch6: clementine-fix-lastfm-crash.patch
# Enforce Fedora specific optimization flags. Accepted by upstream.
# http://code.google.com/p/clementine-player/source/detail?r=1639
Patch7: clementine-fix-buildfags.patch
+# Only create the OpenGL graphics context when you first open the visualisations
+# window. Fixes RHBZ#621913. From upstream trunk:
+# http://code.google.com/p/clementine-player/source/detail?spec=svn1661&r=1431
+Patch8: clementine-visualization-init.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: boost-devel
@@ -72,6 +76,7 @@ advantage of Qt4.
%patch5 -p1 -b .fontpaths
%patch6 -p1 -b .fix.lastfm.crash
%patch7 -p1 -b .build.flags
+%patch8 -p1 -b .visual.init
# We already don't use these but just to make sure
rm -fr 3rdparty/gmock
@@ -137,6 +142,10 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%changelog
+* Sun Aug 08 2010 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> - 0.4.2-9
+- Only create the OpenGL graphics context when you first open the visualisations
+ window. Fixes RHBZ#621913
+
* Fri Aug 06 2010 Orcan Ogetbil <oget[dot]fedora[at]gmail[dot]com> - 0.4.2-8
- Enforce Fedora compilation flags
More information about the scm-commits
mailing list