[Scummvm-cvs-logs] scummvm master -> e8151026594c16a84d390059faa5aaaeafa621da

clone2727 clone2727 at gmail.com
Mon Mar 7 23:09:20 CET 2011


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
4e7b66b1bc GRAPHICS: Cleanup WinCursorGroup functions a bit
e815102659 Merge branch 'pe_exe' of https://github.com/clone2727/scummvm into clone2727-pe_exe


Commit: 4e7b66b1bc948f9fc22ba3ce67f76f8dfe2f5f99
    https://github.com/scummvm/scummvm/commit/4e7b66b1bc948f9fc22ba3ce67f76f8dfe2f5f99
Author: Matthew Hoops (clone2727 at gmail.com)
Date: 2011-03-07T13:37:12-08:00

Commit Message:
GRAPHICS: Cleanup WinCursorGroup functions a bit

ScopedPtr is now used on the streams to avoid having repetitive delete calls.

Changed paths:
    graphics/wincursor.cpp



diff --git a/graphics/wincursor.cpp b/graphics/wincursor.cpp
index 15ae69e..d3c9414 100644
--- a/graphics/wincursor.cpp
+++ b/graphics/wincursor.cpp
@@ -26,6 +26,7 @@
 #include "common/debug.h"
 #include "common/file.h"
 #include "common/memstream.h"
+#include "common/ptr.h"
 #include "common/str.h"
 #include "common/stream.h"
 #include "common/winexe_ne.h"
@@ -208,7 +209,7 @@ WinCursorGroup::~WinCursorGroup() {
 }
 
 WinCursorGroup *WinCursorGroup::createCursorGroup(Common::NEResources &exe, const Common::WinResourceID &id) {
-	Common::SeekableReadStream *stream = exe.getResource(Common::kNEGroupCursor, id);
+	Common::ScopedPtr<Common::SeekableReadStream> stream(exe.getResource(Common::kNEGroupCursor, id));
 
 	if (!stream || stream->size() <= 6)
 		return 0;
@@ -227,7 +228,6 @@ WinCursorGroup *WinCursorGroup::createCursorGroup(Common::NEResources &exe, cons
 
 		// Plane count
 		if (stream->readUint16LE() != 1) {
-			delete stream;
 			delete group;
 			return 0;
 		}
@@ -235,7 +235,6 @@ WinCursorGroup *WinCursorGroup::createCursorGroup(Common::NEResources &exe, cons
 		// Bits per pixel
 		// NE cursors can only be 1bpp
 		if (stream->readUint16LE() != 1) {
-			delete stream;
 			delete group;
 			return 0;
 		}
@@ -243,36 +242,30 @@ WinCursorGroup *WinCursorGroup::createCursorGroup(Common::NEResources &exe, cons
 		stream->readUint32LE(); // data size
 		uint32 cursorId = stream->readUint32LE();
 
-		Common::SeekableReadStream *cursorStream = exe.getResource(Common::kNECursor, cursorId);
+		Common::ScopedPtr<Common::SeekableReadStream> cursorStream(exe.getResource(Common::kNECursor, cursorId));
 		if (!cursorStream) {
-			delete stream;
 			delete group;
 			return 0;
 		}
 
 		WinCursor *cursor = new WinCursor();
 		if (!cursor->readFromStream(*cursorStream)) {
-			delete stream;
-			delete cursorStream;
 			delete cursor;
 			delete group;
 			return 0;
 		}
 
-		delete cursorStream;
-
 		CursorItem item;
 		item.id = cursorId;
 		item.cursor = cursor;
 		group->cursors.push_back(item);
 	}
 
-	delete stream;
 	return group;
 }
 
 WinCursorGroup *WinCursorGroup::createCursorGroup(Common::PEResources &exe, const Common::WinResourceID &id) {
-	Common::SeekableReadStream *stream = exe.getResource(Common::kPEGroupCursor, id);
+	Common::ScopedPtr<Common::SeekableReadStream> stream(exe.getResource(Common::kPEGroupCursor, id));
 
 	if (!stream || stream->size() <= 6)
 		return 0;
@@ -291,7 +284,6 @@ WinCursorGroup *WinCursorGroup::createCursorGroup(Common::PEResources &exe, cons
 
 		// Plane count
 		if (stream->readUint16LE() != 1) {
-			delete stream;
 			delete group;
 			return 0;
 		}
@@ -300,31 +292,25 @@ WinCursorGroup *WinCursorGroup::createCursorGroup(Common::PEResources &exe, cons
 		stream->readUint32LE(); // data size
 		uint32 cursorId = stream->readUint16LE();
 
-		Common::SeekableReadStream *cursorStream = exe.getResource(Common::kPECursor, cursorId);
+		Common::ScopedPtr<Common::SeekableReadStream> cursorStream(exe.getResource(Common::kPECursor, cursorId));
 		if (!cursorStream) {
-			delete stream;
 			delete group;
 			return 0;
 		}
 
 		WinCursor *cursor = new WinCursor();
 		if (!cursor->readFromStream(*cursorStream)) {
-			delete stream;
-			delete cursorStream;
 			delete cursor;
 			delete group;
 			return 0;
 		}
 
-		delete cursorStream;
-
 		CursorItem item;
 		item.id = cursorId;
 		item.cursor = cursor;
 		group->cursors.push_back(item);
 	}
 
-	delete stream;
 	return group;
 }
 


Commit: e8151026594c16a84d390059faa5aaaeafa621da
    https://github.com/scummvm/scummvm/commit/e8151026594c16a84d390059faa5aaaeafa621da
Author: Matthew Hoops (clone2727 at gmail.com)
Date: 2011-03-07T14:07:59-08:00

Commit Message:
Merge branch 'pe_exe' of https://github.com/clone2727/scummvm into clone2727-pe_exe

Changed paths:
  A common/winexe.cpp
  A common/winexe.h
  A common/winexe_ne.cpp
  A common/winexe_ne.h
  A common/winexe_pe.cpp
  A common/winexe_pe.h
  A graphics/wincursor.cpp
  A graphics/wincursor.h
  R common/ne_exe.cpp
  R common/ne_exe.h
  R engines/mohawk/riven_cursors.h
    common/macresman.cpp
    common/macresman.h
    common/module.mk
    engines/mohawk/cursors.cpp
    engines/mohawk/cursors.h
    engines/mohawk/riven.cpp
    engines/mohawk/riven_external.cpp
    engines/mohawk/riven_scripts.cpp
    engines/sci/graphics/cursor.cpp
    engines/scumm/he/resource_he.cpp
    engines/scumm/he/resource_he.h
    graphics/fonts/winfont.cpp
    graphics/fonts/winfont.h
    graphics/module.mk









More information about the Scummvm-git-logs mailing list