annotate plugins/tcl/tcl_win32.c @ 12651:a74cb5952db4

[gaim-migrate @ 14992] Activate a GtkSpell on the status box. If your message contains a word that GtkSpell doesn't recognize then it will have red squiggles underneath it FOREVER. Is that going to annoy people? committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Sun, 25 Dec 2005 01:36:31 +0000
parents 57a0c8fc4bbc
children 7ef6a2d0d9da
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7831
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
1 /**
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
2 * @file tcl_win32.c Gaim Tcl Windows Init
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
3 *
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
4 * gaim
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
5 *
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
6 * Copyright (C) 2003 Herman Bloggs <hermanator12002@yahoo.com>
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
7 *
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
8 * This program is free software; you can redistribute it and/or modify
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
9 * it under the terms of the GNU General Public License as published by
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
10 * the Free Software Foundation; either version 2 of the License, or
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
11 * (at your option) any later version.
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
12 *
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
13 * This program is distributed in the hope that it will be useful,
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
16 * GNU General Public License for more details.
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
17 *
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
18 * You should have received a copy of the GNU General Public License
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
19 * along with this program; if not, write to the Free Software
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
21 */
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
22 #include "internal.h"
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
23 #include "debug.h"
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
24 #include <tcl.h>
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
25
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
26 #ifdef HAVE_TK
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
27 #include <tk.h>
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
28 #endif
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
29
12405
57a0c8fc4bbc [gaim-migrate @ 14712]
Richard Laager <rlaager@wiktel.com>
parents: 7831
diff changeset
30 typedef Tcl_Interp* (CALLBACK* LPFNTCLCREATEINTERP)(void);
7831
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
31 typedef void (CALLBACK* LPFNTKINIT)(Tcl_Interp*);
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
32
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
33 LPFNTCLCREATEINTERP wtcl_CreateInterp = NULL;
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
34 LPFNTKINIT wtk_Init = NULL;
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
35
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
36 BOOL tcl_win32_init() {
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
37 if(!(wtcl_CreateInterp=(LPFNTCLCREATEINTERP)wgaim_find_and_loadproc("tcl84.dll", "Tcl_CreateInterp"))) {
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
38 gaim_debug(GAIM_DEBUG_INFO, "tcl", "tcl_win32_init error loading Tcl_CreateInterp\n");
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
39 return FALSE;
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
40 }
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
41
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
42 if(!(wtk_Init=(LPFNTKINIT)wgaim_find_and_loadproc("tk84.dll", "Tk_Init"))) {
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
43 gaim_debug(GAIM_DEBUG_INFO, "tcl", "tcl_win32_init error loading Tk_Init\n");
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
44 return FALSE;
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
45 }
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
46 return TRUE;
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
47 }
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
48
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
49 BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) {
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
50 switch( fdwReason ) {
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
51 case DLL_PROCESS_ATTACH:
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
52 return tcl_win32_init();
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
53
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
54 case DLL_THREAD_ATTACH:
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
55 break;
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
56
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
57 case DLL_THREAD_DETACH:
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
58 break;
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
59
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
60 case DLL_PROCESS_DETACH:
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
61 break;
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
62 }
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
63 return TRUE;
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
64 }
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
65
409f7f167c98 [gaim-migrate @ 8483]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
66