aboutsummaryrefslogtreecommitdiff
path: root/common
AgeCommit message (Collapse)Author
2014-02-18COMMON: Make GPL headers consistent in themselves.Johannes Schickel
2014-01-19PS2: scummsys.h (u)int64 is "long" for PS2Max Lingua
2014-01-17Merge pull request #417 from digitall/STACK_fixesJohannes Schickel
ALL: Fix optimization unstable code on checking for null after new.
2014-01-17Merge pull request #366 from clone2727/he-saves-target-nameclone2727
RFC: Make HE games use the target name in all save files
2014-01-15ALL: Remove optimization unstable code on checking for null after new.D G Turner
These issues were identified by the STACK tool. By default, the C++ new operator will throw an exception on allocation failure, rather than returning a null pointer. The result is that testing the returned pointer for null is redundant and _may_ be removed by the compiler. This is thus optimization unstable and may result in incorrect behaviour at runtime. However, we do not use exceptions as they are not supported by all compilers and may be disabled. To make this stable without removing the null check, you could qualify the new operator call with std::nothrow to indicate that this should return a null, rather than throwing an exception. However, using (std::nothrow) was not desirable due to the Symbian toolchain lacking a <new> header. A global solution to this was also not easy by redefining "new" as "new (std::nothrow)" due to custom constructors in NDS toolchain and various common classes. Also, this would then need explicit checks for OOM adding to all new usages as per C malloc which is untidy. For now to remove this optimisation unstable code is best as it is likely to not be present anyway, and OOM will cause a system library exception instead, even without exceptions enabled in the application code.
2013-12-17COMMON: Revert "Fix mismatched new/delete in the MemoryPool class".Johannes Schickel
This reverts commit b585addc23de25c019f250986d50c0373219571d. The allocation of MemoryPool's page memory is doing in MemoryPool::allocPage, which uses ::malloc, thus we need to use ::free to free the page memory in MemoryPool::freeUnusedPages.
2013-12-17COMMON: Fix mismatched new/delete in the MemoryPool classFilippos Karapetis
Memory is allocated with new in Hashmap::allocNode() and incorrectly freed with free() in ~MemoryPool() and freeUnusedPages(). Issue reported by Dr. Memory
2013-12-05COMMON: Add Latvian language code.Johannes Schickel
2013-12-05COMMON: Fix order of languages.Johannes Schickel
These are sorted according to the alphabetical order of the description. Thus, Croatian should be between Chinese (Taiwan) and Czech.
2013-11-23COMMON: Document Common::String::unsigned_type.Johannes Schickel
2013-11-23COMMON: Document U32String a bit better.Johannes Schickel
2013-11-23COMMON: Add simple UTF-32 string class U32String.Johannes Schickel
2013-11-23COMMON: Add underlying type names to Common::String.Johannes Schickel
The value_type is analogous to std::basic_string::value_type. The unsigned_type on the other hand is an unsigned type of the value_type which allows to obtain an character without nasty sign extension.
2013-11-06COMMON: Define int64 and uint64 if HAVE_CONFIG_H isn't setFilippos Karapetis
This fixes compilation of sword25's pluto with Visual Studio. The issue has been revealed with commit 34169a81. The other data types are defined in scummsys.h, thus only the missing int64 and uint64 defines are set.
2013-11-03RECORDER: Initialize variable. CID 1047258Eugene Sandulenko
2013-11-02COMMON: SEEK_END offsets are negativeFilippos Karapetis
This was taken directly from the old code, which either used different semantics, or had a genuine bug
2013-11-02COMMON: Reenable SEEK_END seeking in GZipReadStream()Filippos Karapetis
This is needed by the "Mirage" Wintermute game. Vorbis can do backward seeking, thus we need to enable this for ZIP streams. Since this can be a potentially slow operation, we throw a warning (once per stream) when it occurs. Originally, SEEK_END seeks in GZipReadStream were disabled by commit 9138128f. Refer to patch #2050337 for more information.
2013-10-27COMMON: Make XCode 5.0.1 happierEugene Sandulenko
2013-10-27COMMON: Fix the NE group icon resource typeMatthew Hoops
2013-10-05COMMON: Fix missing arjDecoder class variable init. CID 1002929D G Turner
This fixes a couple of these variables by removing them as they are unused or set-but-unused variables.
2013-09-27COMMON: Make Coverity 6.6.1 happierEugene Sandulenko
Apparently their tools do not include __has_feature clang extension. I've submitted the bugreport to them but in the meantime let's have this define in the system.
2013-09-26COMMON: Expand the warnings thrown for broken DCL compressed dataFilippos Karapetis
The Russian translated versions of Neverhood have invalid unpacked sizes for some compressed resources. This helps in identifying their resource parameters more easily
2013-09-21COMMON: Shut more Coverity warnings in coroutines.Eugene Sandulenko
2013-09-21COMMON: Use unused variables in coroutine macros.Eugene Sandulenko
This should fix couple of hundreds of Coverity detected defects.
2013-08-12COMMON: Make the two INI save file functions take a String referenceMatthew Hoops
2013-08-13COMMON: Add setVal to ConfigManager::Domain.Johannes Schickel
This fixes compilation in the keymapper.
2013-08-12Merge pull request #377 from lordhoto/config-manager-cleanupJohannes Schickel
Config Manager Cleanup
2013-08-12COMMON: Get rid of write version of ConfigManager::getGameDomains.Johannes Schickel
This can be abused to insert Domains into the game domains without any checks. Instead, only write iterator access is given.
2013-08-08COMMON: Remove commented out include in config-manager.h.Johannes Schickel
2013-08-08COMMON: Remove outdated comments on INIFile.Johannes Schickel
These very old comments claimed that ConfigManager uses INIFile. This is not true however. Thus removing them should clear things up a little bit.
2013-08-08COMMON: Rename ConfigFile to INIFile.Johannes Schickel
This clears up that 'ConfigFile' is actually a class handling only INI-files.
2013-08-08COMMON: Do not let ConfigManager::Domain inherit from StringMap.Johannes Schickel
Instead we provide wrapper functionality now. Intuitively a Domain is not a simple StringMap.
2013-08-02COMMON: Define all Unix98/BSD math constants in scummsys.h.Johannes Schickel
This should fix compilation on mingw64 with --enable-c++11 and also make sure the constants are present on other systems for the uncommon case they might be missing.
2013-08-02COMMON: Add comment explaining reason for defining math constants.D G Turner
2013-07-31COMMON: Move definition of math constants to scummsys header.D G Turner
This should have no effect on common/math.h as scummsys is included at the top anyway, but this will fix compilation on some toolchains when strict ANSI language compliance is enabled i.e. -std=c++11, rather than -std=gnu11. This causes an issue as a side effect is to set a guard which disables various non-standard defines in the system headers i.e. the M_PI and M_SQRT1_2 constant definitions in the MinGW x86_64 toolchain on buildbot. By moving this into scummsys.h after the point of system math.h inclusion, we can ensure that M_PI etc. are always present.
2013-07-30COMMON: Enforce formatting guidelines a bit more in util.h.Johannes Schickel
2013-07-29COMMON: Revert last commit as rightfully pointed out by fuzze.Eugene Sandulenko
2013-07-29COMMON: Added copy constructors and copier to Rect and Point.Eugene Sandulenko
2013-07-18Merge pull request #353 from clone2727/eventrec_timer_fixEugene Sandulenko
ALL: Don't use EventRecorder at all when not compiled in
2013-07-15RECORDER: Fix wrong argument orderEugene Sandulenko
2013-07-14JANITORIAL: Remove trailing whitespaceSven Hesse
2013-07-14RECORDER: Fix CID 1046886. Uninit class variables.Eugene Sandulenko
2013-07-11COMMON: Cleanup the MacResManager a bitMatthew Hoops
2013-07-06ALL: Don't use EventRecorder at all when not compiled inMatthew Hoops
2013-07-06RECORDER: Fix tests compilation. Patch by D G TurnerEugene Sandulenko
2013-07-05Revert "COMMON: Fix crash when the keymapper and the event recorder are enabled"Filippos Karapetis
This reverts commit 93987d999c61221bda3da548c8c81f5d6d906a12.
2013-07-05COMMON: Fix crash when the keymapper and the event recorder are enabledFilippos Karapetis
DefaultEventManager registers a keymapper that is supposed to be auto-freed. However, the event recorder then sets itself as a new keymapper, but because the autofree flag is already set, registerMapper() ends up deleting the event recorder itself. Setting the autofree flag before actually freeing the mapper fixes the issue and prevents ScummVM from crashing on startup
2013-07-05COMMON: Initialize EventDispatcher::_autoFreeMapper.Johannes Schickel
This fixes a branching on uninitialized variable reported by valgrind on startup.
2013-07-04Merge pull request #331 from sev-/gsoc2012-eventsrecorderEugene Sandulenko
GSoC2012: Event Recorder (reworked)
2013-07-01Merge pull request #342 from RichieSams/addDeleteRangeStringMethodJohannes Schickel
COMMON: Add erase method to String class