Thomas Goyne
0a19a6d8f5
Don't use uniform initialization for structs because VC++ 2013 is buggy
2013-12-11 19:16:16 -08:00
Thomas Goyne
6fad60e58d
Use NSDMIs where applicable
2013-12-11 18:50:12 -08:00
Thomas Goyne
23a21b33b1
Use a fixed-size buffer for log messages
...
libc++'s implementation of ostrstream seems to have incorrect
range-checking and does some out-of-bounds reads and writes whenever a
resize is needed, which results in crashes on 10.7 (but not 10.9 for
unknown reasons).
2013-12-09 12:47:32 -08:00
Thomas Goyne
3691849bac
Fix logging on OS X
...
Passing nullptr to ostrstream's constructor is a nonstandard extension
that libc++ doesn't support, and as it turns out preallocating a buffer
doesn't actually meaningfully improve performance anyway.
2013-10-13 09:06:46 -07:00
Thomas Goyne
3306ee126d
More unique_ptr
2013-06-11 20:54:07 -07:00
Thomas Goyne
5092ab20c9
Do logging on a background thread
...
Makes logging actually thread-safe and slightly improves performance.
2013-02-06 13:22:17 -08:00
Thomas Goyne
a942687050
Use a circular buffer to store only the last 250 log messages
2013-02-06 13:22:16 -08:00
Thomas Goyne
c6005be4a1
Write log files incrementally so that they actually exist for crashes
2013-02-06 13:22:16 -08:00
Thomas Goyne
101721863a
Make log messages a little saner
2013-02-06 13:22:16 -08:00
Thomas Goyne
69e1744fc7
Make agi::util::time_log less insane
2013-02-06 13:22:16 -08:00
Thomas Goyne
1e0f08c0ed
Mostly purge wxWidgets from non-UI stuff
...
Use boost::filesystem::path for all paths, and std::string for all other
strings, converting to/from wxString as close to the actual uses of wx
as possible.
Where possible, replace the uses of non-UI wxWidgets functionality with
the additions to the standard library in C++11, or the equivalents in
boost.
Move the path token management logic to libaegisub (and rewrite it in
the process).
Add a basic thread pool based on asio and std::thread to libaegisub.
This touches nearly every file in the project and a nontrivial amount of
code had to be rewritten entirely, so there's probably a lot of broken
stuff.
2013-02-06 13:22:15 -08:00
Thomas Goyne
96cf5ea7ed
Kill the #ifndef AGI_PRE guards
...
They don't actually improve compilation performance and make it more
annoying to modify what things are in the precompiled header.
2012-12-02 06:33:29 -08:00
Thomas Goyne
2dd1da8333
Use C++11 stuff in libaegisub
2012-11-13 08:46:30 -08:00
Thomas Goyne
e44c47c863
Remove $Id$ markers since git doesn't support them
2012-10-25 17:39:49 -07:00
Thomas Goyne
6cf122dea2
Remove the time_t overload of UnknownElement and just cast to int64_t
...
Originally committed to SVN as r6508.
2012-02-23 19:27:42 +00:00
Thomas Goyne
46986c6944
Fix new[]/delete mismatch
...
Originally committed to SVN as r6306.
2012-01-18 20:08:24 +00:00
Thomas Goyne
e2d31b708e
Split the json log writing into a seperate class from LogSink
...
Originally committed to SVN as r6248.
2012-01-08 01:36:23 +00:00
Thomas Goyne
d148bbbf2a
Make agi::log::LogSink take ownership of the emitters passed to it
...
Originally committed to SVN as r6246.
2012-01-08 01:36:09 +00:00
Thomas Goyne
863e7070a6
Add a bunch of missing config.h includes
...
Originally committed to SVN as r6072.
2011-12-22 21:20:44 +00:00
Thomas Goyne
d0ee3029de
Make the MRU tests significantly less worthless
...
Originally committed to SVN as r6008.
2011-12-22 21:10:50 +00:00
Thomas Goyne
3097dc634e
Only automatically convert json objects to other types when they are uninitialized
...
Originally committed to SVN as r6005.
2011-12-22 21:10:22 +00:00
Thomas Goyne
ba2794b2fe
Replace some const strings with const references to strings
...
Originally committed to SVN as r5815.
2011-11-04 19:42:21 +00:00
Thomas Goyne
ffa622d698
Fix compilation without precompiled headers
...
Originally committed to SVN as r5791.
2011-10-28 20:15:10 +00:00
Thomas Goyne
4e8848c110
Eliminate a bunch of now unneccesary explicit casts to/from json types
...
Originally committed to SVN as r5751.
2011-10-17 22:00:28 +00:00
Thomas Goyne
0dee6ea223
Add some convenience overloads to UnknownElement's constructor
...
Originally committed to SVN as r5749.
2011-10-17 22:00:09 +00:00
Thomas Goyne
36280b7a2b
Kill TrivialType_T as it's completely pointless
...
Originally committed to SVN as r5748.
2011-10-17 21:59:59 +00:00
Thomas Goyne
2f64a116a7
Make cajun containers implement the STL container interfaces rather than being retarded special snowflakes
...
Originally committed to SVN as r5746.
2011-10-17 21:59:35 +00:00
Thomas Goyne
3c18ed542c
Clean up libaegisub includes
...
Consistently use the C++ names for headers rather than a combination of the
C and C++ names.
Remove empty LAGI_PRE blocks.
Remove checks for both AGI_PRE and LAGI_PRE and change a check for only
AGI_PRE to LAGI_PRE.
Originally committed to SVN as r5516.
2011-07-26 22:25:21 +00:00
Amar Takhar
73913fb0b8
Remove mutex.h from common/log.cpp until the windows build is fixed.
...
Originally committed to SVN as r5312.
2011-02-06 20:45:46 +00:00
Niels Martin Hansen
a13e0ddedf
Clear out some warnings emitted by Visual C++ 2010.
...
On 32 bit VC 2010, std::streamsize is 64 bit while size_t is 32 bit.
Originally committed to SVN as r5151.
2011-01-08 21:58:48 +00:00
Amar Takhar
167f09a610
Merge the dynamic menu, hotkey and toolbar branch to trunk. This doesn't include Windows support as vs2008 was being a major pain. This involves revisions r4921:4950, r4961:5002, r5005:5006, r5008:5056, r5062:5065, r5072, r5081:5082, r5087, r5096:5110, r5124:5125. Updates #1258 .
...
Originally committed to SVN as r5126.
2011-01-05 13:00:46 +00:00
Amar Takhar
79a67ae1ec
Add some log messages when subscribing/unsubscribing emitters.
...
Originally committed to SVN as r4711.
2010-07-25 17:30:12 +00:00
Thomas Goyne
2b47f34e76
Fix a pile of actual memory leaks
...
Originally committed to SVN as r4575.
2010-06-24 01:24:09 +00:00
Thomas Goyne
cbf201ab86
Fix some "leaks" of things that should actually be alive for the lifetime of the program to reduce noise.
...
Originally committed to SVN as r4574.
2010-06-24 01:24:02 +00:00
Amar Takhar
ea577f8245
Re-work types.h for the second time, this is most likely not the final version, it's difficult to figure out a solution that makes the most sense when most of the code hasn't been written/moved over yet.
...
Originally committed to SVN as r4468.
2010-06-09 02:07:43 +00:00
Amar Takhar
1768a8138d
Whoops, remove an artifact that remained when debugging: don't delete the message buffer.
...
Originally committed to SVN as r4416.
2010-06-03 08:32:42 +00:00
Amar Takhar
33011cb5ed
Split EmitterSTDOUT into unix/log.cpp and windows/log.cpp, the windows version is commented at the moment.
...
Originally committed to SVN as r4397.
2010-06-01 08:17:27 +00:00
Amar Takhar
139f675ede
Add a return value to LogSink::Subscribe to make msvc happy.
...
Originally committed to SVN as r4396.
2010-06-01 08:08:33 +00:00
Amar Takhar
7e83443c3e
Fix the Windows build, there are a couple of things to note:
...
* I rebroke the stdout logger I'll fix that in unix.
* There is a new header libaegisub/types.h which is a temp solution until I sort out something more realistic. It's too early to tell what the proper solution will be.
Originally committed to SVN as r4394.
2010-06-01 08:03:17 +00:00
Amar Takhar
37b904b75e
Create time_log() to return a timeval so I can implement this on windows as well.
...
Originally committed to SVN as r4391.
2010-06-01 05:11:18 +00:00
Amar Takhar
3ff3fdf4cc
Fix the stdout print to make it more readable..
...
Originally committed to SVN as r4376.
2010-05-31 23:16:16 +00:00
Amar Takhar
0a453fe127
Move Serverity_ID below the definition of log where it should be.
...
Originally committed to SVN as r4373.
2010-05-31 22:47:38 +00:00
Amar Takhar
9d0c5a4890
Add Googles mutex.h which seems to be used in many of googles projects. It's better to use something that's well-tested rather than rolling our own. Also a huge time saver.
...
Originally committed to SVN as r4372.
2010-05-31 21:57:08 +00:00
Amar Takhar
9393850884
Commit the beginings of a logging api, this is fairly complete however it has no locking.
...
Originally committed to SVN as r4371.
2010-05-31 20:55:29 +00:00