[haiku-commits] haiku: hrev49099 - in src: apps/activitymonitor add-ons/input_server/filters/screen_saver

  • From: mmlr@xxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Thu, 23 Apr 2015 23:17:26 +0200 (CEST)

hrev49099 adds 3 changesets to branch 'master'
old head: 5d05694ad6eaa3129a739f55232ec11bb57ecd31
new head: 8361c0f11a24c782a7ab21e8f26a5f0236ec6a4c
overview:
http://cgit.haiku-os.org/haiku/log/?qt=range&q=8361c0f11a24+%5E5d05694ad6ea

----------------------------------------------------------------------------

5919f6d4af28: screen_saver filter: Fix use-after-free on destruction.

Stop watching nodes before quitting and therefore deleting the looper
that was subscribed.

ea9f4d993cdf: Tiny whitespace cleanup only.

8361c0f11a24: ActivityMonitor: Fix leak of message when saving settings.

Adding a message to a message does not transfer ownership.

[ Michael Lotz <mmlr@xxxxxxxx> ]

----------------------------------------------------------------------------

3 files changed, 9 insertions(+), 11 deletions(-)
src/add-ons/input_server/filters/screen_saver/Jamfile | 4 ++--
.../filters/screen_saver/ScreenSaverFilter.cpp | 6 +++---
src/apps/activitymonitor/ActivityWindow.cpp | 10 ++++------

############################################################################

Commit: 5919f6d4af2819340cd046e8eb3fd6db2f546b53
URL: http://cgit.haiku-os.org/haiku/commit/?id=5919f6d4af28
Author: Michael Lotz <mmlr@xxxxxxxx>
Date: Thu Apr 23 21:09:40 2015 UTC

screen_saver filter: Fix use-after-free on destruction.

Stop watching nodes before quitting and therefore deleting the looper
that was subscribed.

----------------------------------------------------------------------------

diff --git
a/src/add-ons/input_server/filters/screen_saver/ScreenSaverFilter.cpp
b/src/add-ons/input_server/filters/screen_saver/ScreenSaverFilter.cpp
index 1552a20..bd11eb7 100644
--- a/src/add-ons/input_server/filters/screen_saver/ScreenSaverFilter.cpp
+++ b/src/add-ons/input_server/filters/screen_saver/ScreenSaverFilter.cpp
@@ -120,6 +120,9 @@ ScreenSaverFilter::~ScreenSaverFilter()
{
be_roster->StopWatching(fController);

+ if (fWatchingFile || fWatchingDirectory)
+ watch_node(&fNodeRef, B_STOP_WATCHING, fController);
+
// We must quit our controller without being locked, or else we might
// deadlock; when the controller is gone, there is no reason to lock
// anymore, anyway.
@@ -128,9 +131,6 @@ ScreenSaverFilter::~ScreenSaverFilter()

delete fCornerRunner;
delete fRunner;
-
- if (fWatchingFile || fWatchingDirectory)
- watch_node(&fNodeRef, B_STOP_WATCHING, fController);
}



############################################################################

Commit: ea9f4d993cdfa8e98aefa5e5a782ad6d096085ca
URL: http://cgit.haiku-os.org/haiku/commit/?id=ea9f4d993cdf
Author: Michael Lotz <mmlr@xxxxxxxx>
Date: Thu Apr 23 21:12:23 2015 UTC

Tiny whitespace cleanup only.

----------------------------------------------------------------------------

diff --git a/src/add-ons/input_server/filters/screen_saver/Jamfile
b/src/add-ons/input_server/filters/screen_saver/Jamfile
index 08a8a74..64cc9de 100644
--- a/src/add-ons/input_server/filters/screen_saver/Jamfile
+++ b/src/add-ons/input_server/filters/screen_saver/Jamfile
@@ -4,6 +4,6 @@ SetSubDirSupportedPlatformsBeOSCompatible ;

UsePrivateHeaders screen_saver ;

-Addon screen_saver :
- ScreenSaverFilter.cpp
+Addon screen_saver :
+ ScreenSaverFilter.cpp
: be libscreensaver.so input_server [ TargetLibsupc++ ] ;

############################################################################

Revision: hrev49099
Commit: 8361c0f11a24c782a7ab21e8f26a5f0236ec6a4c
URL: http://cgit.haiku-os.org/haiku/commit/?id=8361c0f11a24
Author: Michael Lotz <mmlr@xxxxxxxx>
Date: Thu Apr 23 21:13:20 2015 UTC

ActivityMonitor: Fix leak of message when saving settings.

Adding a message to a message does not transfer ownership.

----------------------------------------------------------------------------

diff --git a/src/apps/activitymonitor/ActivityWindow.cpp
b/src/apps/activitymonitor/ActivityWindow.cpp
index 449c775..62279b9 100644
--- a/src/apps/activitymonitor/ActivityWindow.cpp
+++ b/src/apps/activitymonitor/ActivityWindow.cpp
@@ -335,14 +335,12 @@ ActivityWindow::_SaveSettings()
if (view == NULL)
continue;

- BMessage* viewState = new BMessage;
- status = view->SaveState(*viewState);
+ BMessage viewState;
+ status = view->SaveState(viewState);
if (status == B_OK)
- status = settings.AddMessage("activity view",
viewState);
- if (status != B_OK) {
- delete viewState;
+ status = settings.AddMessage("activity view",
&viewState);
+ if (status != B_OK)
break;
- }
}

if (status == B_OK)


Other related posts:

  • » [haiku-commits] haiku: hrev49099 - in src: apps/activitymonitor add-ons/input_server/filters/screen_saver - mmlr