diff options
author | ai4rei <ai4rei@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2010-12-29 05:14:16 +0000 |
---|---|---|
committer | ai4rei <ai4rei@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2010-12-29 05:14:16 +0000 |
commit | 71201030aedb473d67f15c4ab72ba21c60cca30b (patch) | |
tree | 8bcb37646c504cd3ece8864a2804f013f8a9df7d /src/plugins | |
parent | b5633db9744bff512eef665054a2622780a7ab6c (diff) | |
download | hercules-71201030aedb473d67f15c4ab72ba21c60cca30b.tar.gz hercules-71201030aedb473d67f15c4ab72ba21c60cca30b.tar.bz2 hercules-71201030aedb473d67f15c4ab72ba21c60cca30b.tar.xz hercules-71201030aedb473d67f15c4ab72ba21c60cca30b.zip |
* Fixed 'console' plugin not working on Windows, due to NULL passed to CreateThread instead of required pointer to thread id variable.
- Fixed 'console' plugin causing delete_timer error when it fails to load, due to uninitialized variable.
* Renamed plugin.def to sample.def and added 'sample' plugin exports into it, as it's purpose is nothing than a sample right now.
- Also added .def files for 'gui' and 'pid' plugins as MSVC does not export everything automatically and missing event export cause the plugins silently failing.
- Added VS6, VS8 and VS9 projects for compiling plug-ins, which can be used on Windows.
* The plug-in system will now report, if it cannot import an event function.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14638 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/console.c | 5 | ||||
-rw-r--r-- | src/plugins/gui.def (renamed from src/plugins/plugin.def) | 2 | ||||
-rw-r--r-- | src/plugins/pid.def | 7 | ||||
-rw-r--r-- | src/plugins/sample.def | 11 |
4 files changed, 23 insertions, 2 deletions
diff --git a/src/plugins/console.c b/src/plugins/console.c index 5056eafdc..7ea69c637 100644 --- a/src/plugins/console.c +++ b/src/plugins/console.c @@ -32,7 +32,8 @@ #define WORKER_FUNC_END(name) } ExitThread(0); return 0; } #define WORKER_EXECUTE(name,errvar) \ do{ \ - buf.worker = CreateThread(NULL, 0, worker_ ## name, NULL, CREATE_SUSPENDED, NULL); \ + DWORD dwThreadId; \ + buf.worker = CreateThread(NULL, 0, worker_ ## name, NULL, CREATE_SUSPENDED, &dwThreadId); \ if( errvar ) \ *errvar = ( buf.worker == NULL ); \ }while(0) @@ -135,7 +136,7 @@ unsigned int (*gettick)(void); int (*parse_console)(char* buf); // Locals -int tid; // timer id +int tid = -1; // timer id BUFFER buf; // input buffer WORKER_FUNC_DECLARE(getinput); // worker for the input buffer diff --git a/src/plugins/plugin.def b/src/plugins/gui.def index 6117bedc6..0a5d6a714 100644 --- a/src/plugins/plugin.def +++ b/src/plugins/gui.def @@ -2,3 +2,5 @@ EXPORTS plugin_info DATA plugin_event_table DATA plugin_call_table DATA + + gui_init diff --git a/src/plugins/pid.def b/src/plugins/pid.def new file mode 100644 index 000000000..a70cf8127 --- /dev/null +++ b/src/plugins/pid.def @@ -0,0 +1,7 @@ +EXPORTS + plugin_info DATA + plugin_event_table DATA + plugin_call_table DATA + + pid_create + pid_delete diff --git a/src/plugins/sample.def b/src/plugins/sample.def new file mode 100644 index 000000000..f5c4af652 --- /dev/null +++ b/src/plugins/sample.def @@ -0,0 +1,11 @@ +EXPORTS + ; common exports + plugin_info DATA + plugin_event_table DATA + plugin_call_table DATA + + ; plugin-specific exports + test_me + do_init + do_final + some_function |