# HG changeset patch # User Daniel Atallah # Date 1181098606 0 # Node ID fb096fc27b4e98809aef783490d91121f00608fa # Parent fa1102b7a959f7cb7fd708d920a891c4afa1a693 Don't load the tcl loader plugin on Windows unless ActiveTcl 8.4.5 or newer is present. Fixes #538. diff -r fa1102b7a959 -r fb096fc27b4e libpurple/plugins/tcl/tcl.c --- a/libpurple/plugins/tcl/tcl.c Wed Jun 06 02:45:31 2007 +0000 +++ b/libpurple/plugins/tcl/tcl.c Wed Jun 06 02:56:46 2007 +0000 @@ -457,11 +457,23 @@ if ((version = wpurple_read_reg_string(HKEY_LOCAL_MACHINE, regkey, "CurrentVersion")) || (version = wpurple_read_reg_string(HKEY_CURRENT_USER, regkey, "CurrentVersion"))) { - char *path; + char *path = NULL; char *regkey2; + char **tokens; + int major = 0, minor = 0, micro = 0; + + tokens = g_strsplit(version, ".", 0); + if (tokens[0] && tokens[1] && tokens[2]) { + major = atoi(tokens[0]); + minor = atoi(tokens[1]); + micro = atoi(tokens[2]); + } + g_strfreev(tokens); regkey2 = g_strdup_printf("%s%s\\", regkey, version); - if ((path = wpurple_read_reg_string(HKEY_LOCAL_MACHINE, regkey2, NULL)) || (path = wpurple_read_reg_string(HKEY_CURRENT_USER, regkey2, NULL))) { + if (!(major == 8 && minor == 4 && micro >= 5)) + purple_debug(PURPLE_DEBUG_INFO, "tcl", "Unsupported ActiveTCL version %s found.\n", version); + else if ((path = wpurple_read_reg_string(HKEY_LOCAL_MACHINE, regkey2, NULL)) || (path = wpurple_read_reg_string(HKEY_CURRENT_USER, regkey2, NULL))) { char *tclpath; char *tkpath;