diff options
| author | Tim Penhey <tim.penhey@canonical.com> | 2012-09-17 22:54:53 -0400 |
|---|---|---|
| committer | Tarmac <> | 2012-09-17 22:54:53 -0400 |
| commit | f7d607d1c6264a541b89102ba24c31d58b54fcb7 (patch) | |
| tree | d14f6359d8c05b0c7e8202ecdfe9fd1e8434de5d /plugins/unityshell | |
| parent | 1cecbfb6266f1c5fa68ee185c371523c7b9fdf2e (diff) | |
| parent | 4349a0379180dd0179627d2aca91d7719c83fec0 (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.cpp | 17 | ||||
| -rw-r--r-- | plugins/unityshell/src/WindowMinimizeSpeedController.h | 4 |
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 |
