summaryrefslogtreecommitdiff
path: root/plugins/unityshell
diff options
authorTim Penhey <tim.penhey@canonical.com>2012-09-17 22:54:53 -0400
committerTarmac <>2012-09-17 22:54:53 -0400
commitf7d607d1c6264a541b89102ba24c31d58b54fcb7 (patch)
treed14f6359d8c05b0c7e8202ecdfe9fd1e8434de5d /plugins/unityshell
parent1cecbfb6266f1c5fa68ee185c371523c7b9fdf2e (diff)
parent4349a0379180dd0179627d2aca91d7719c83fec0 (diff)
Fix uninitialized and invalid reads as reported by valgrind.. Fixes: . Approved by Brandon Schaefer.
(bzr r2706)
Diffstat (limited to 'plugins/unityshell')
-rw-r--r--plugins/unityshell/src/WindowMinimizeSpeedController.cpp17
-rw-r--r--plugins/unityshell/src/WindowMinimizeSpeedController.h4
2 files changed, 11 insertions, 10 deletions
diff --git a/plugins/unityshell/src/WindowMinimizeSpeedController.cpp b/plugins/unityshell/src/WindowMinimizeSpeedController.cpp
index 66f28d8fc..ec0b4b872 100644
--- a/plugins/unityshell/src/WindowMinimizeSpeedController.cpp
+++ b/plugins/unityshell/src/WindowMinimizeSpeedController.cpp
@@ -41,6 +41,7 @@ WindowMinimizeSpeedController::WindowMinimizeSpeedController()
, _minimize_speed_threshold(g_settings_get_int(_settings, "minimize-speed-threshold"))
, _minimize_slow_duration(g_settings_get_int(_settings, "minimize-slow-duration"))
, _minimize_fast_duration(g_settings_get_int(_settings, "minimize-fast-duration"))
+ , _duration(200) // going to be overridden anyway, but at least it is initialised
{
_minimize_count_changed.Connect(_settings, "changed::minimize-count",
[&] (GSettings*, gchar* name) {
@@ -74,7 +75,7 @@ void WindowMinimizeSpeedController::UpdateCount()
int WindowMinimizeSpeedController::getDuration()
{
- return mDuration;
+ return _duration;
}
void WindowMinimizeSpeedController::SetDuration()
@@ -82,27 +83,27 @@ void WindowMinimizeSpeedController::SetDuration()
/* Perform some sanity checks on the configuration values */
if (_minimize_fast_duration > _minimize_slow_duration)
{
- LOG_WARN(logger) << "Configuration mismatch: minimize-fast-duration ("
+ LOG_WARN(logger) << "Configuration mismatch: minimize-fast-duration ("
<< _minimize_fast_duration
<< ") is longer than minimize-slow-duration ("
<< _minimize_slow_duration << "). Not changing speed.";
return;
}
-
+
if (_minimize_count < 0)
_minimize_count = 0;
if (_minimize_count > _minimize_speed_threshold)
_minimize_count = _minimize_speed_threshold;
-
+
/* Adjust the speed so that it gets linearly closer to maximum speed as we
approach the threshold */
int speed_range = _minimize_slow_duration - _minimize_fast_duration;
float position = (_minimize_speed_threshold <= 0) ? 1.0 :
static_cast<float>(_minimize_count) / _minimize_speed_threshold;
int duration = _minimize_slow_duration - std::ceil(position * speed_range);
-
- if (duration != mDuration) {
- mDuration = duration;
+
+ if (duration != _duration) {
+ _duration = duration;
DurationChanged.emit();
- }
+ }
}
diff --git a/plugins/unityshell/src/WindowMinimizeSpeedController.h b/plugins/unityshell/src/WindowMinimizeSpeedController.h
index 49bcbad14..633f254e2 100644
--- a/plugins/unityshell/src/WindowMinimizeSpeedController.h
+++ b/plugins/unityshell/src/WindowMinimizeSpeedController.h
@@ -38,7 +38,7 @@ public:
void UpdateCount();
int getDuration();
sigc::signal<void> DurationChanged;
-
+
private:
void SetDuration();
@@ -51,7 +51,7 @@ private:
glib::Signal<void, GSettings*, gchar* > _minimize_speed_threshold_changed;
glib::Signal<void, GSettings*, gchar* > _minimize_slow_duration_changed;
glib::Signal<void, GSettings*, gchar* > _minimize_fast_duration_changed;
- int mDuration;
+ int _duration;
};
#endif // WINDOWMINIMIZESPEEDCONTROLLER_H