diff -ruN xchat2.orig/plugins/perl/makefile.msc xchat2/plugins/perl/makefile.msc --- xchat2.orig/plugins/perl/makefile.msc Tue Mar 29 08:11:50 2005 +++ xchat2/plugins/perl/makefile.msc Sun Sep 23 10:56:16 2007 @@ -1,29 +1,29 @@ -include "..\..\src\makeinc.msc" - -TARGET = $(PERLOUTPUT) - -all: $(TARGET) - -perl.def: - echo EXPORTS > perl.def - echo xchat_plugin_init >> perl.def - echo xchat_plugin_deinit >> perl.def - echo xchat_plugin_get_info >> perl.def - -perl.obj: perl.c - $(CC) $(CFLAGS) -c perl.c $(GLIB) -I.. -I$(PERLPATH) -DPERL_DLL=\"$(PERLLIB).dll\" - -perl.c: xchat.pm.h - -xchat.pm.h: Xchat.pm IRC.pm - perl.exe generate_header - -$(TARGET): perl.obj perl.def - $(LINK) /DLL /out:$(TARGET) /SUBSYSTEM:WINDOWS /nologo perl.obj $(PERLLIB).lib /LIBPATH:$(PERLPATH) /DELAYLOAD:$(PERLLIB).dll DELAYIMP.LIB dirent.lib user32.lib shell32.lib advapi32.lib /def:perl.def /OPT:NOWIN98 - -clean: - del $(TARGET) - del *.obj - del perl.def - del *.lib - del *.exp +include "..\..\src\makeinc.msc" + +TARGET = $(PERLOUTPUT) + +all: $(TARGET) + +perl.def: + echo EXPORTS > perl.def + echo xchat_plugin_init >> perl.def + echo xchat_plugin_deinit >> perl.def + echo xchat_plugin_get_info >> perl.def + +perl.obj: perl.c + $(CC) $(CFLAGS) -c perl.c $(GLIB) -I.. -I$(PERLPATH) -DPERL_DLL=\"$(PERLLIB).dll\" + +perl.c: xchat.pm.h + +xchat.pm.h: Xchat.pm IRC.pm + perl.exe generate_header + +$(TARGET): perl.obj perl.def + $(LINK) /DLL /out:$(TARGET) /SUBSYSTEM:WINDOWS /nologo perl.obj $(PERLLIB).lib /LIBPATH:$(PERLPATH) /DELAYLOAD:$(PERLLIB).dll DELAYIMP.LIB dirent.lib user32.lib shell32.lib advapi32.lib $(LIBS) /def:perl.def /OPT:NOWIN98 + +clean: + del $(TARGET) + del *.obj + del perl.def + del *.lib + del *.exp diff -ruN xchat2.orig/src/common/cfgfiles.c xchat2/src/common/cfgfiles.c --- xchat2.orig/src/common/cfgfiles.c Sun Jun 17 09:23:32 2007 +++ xchat2/src/common/cfgfiles.c Sun Sep 23 10:56:16 2007 @@ -36,7 +36,7 @@ #else #define XCHAT_DIR ".xchat2" #endif -#define DEF_FONT "Monospace 9" +#define DEF_FONT "Fixedsys Excelsior 2.00 11" void list_addentry (GSList ** list, char *cmd, char *name) @@ -612,7 +612,6 @@ prefs.irc_join_delay = 3; prefs.show_marker = 1; prefs.newtabstofront = 2; - prefs.completion_amount = 5; prefs.away_timeout = 60; prefs.away_size_max = 300; prefs.away_track = 1; diff -ruN xchat2.orig/src/common/proto-irc.c xchat2/src/common/proto-irc.c --- xchat2.orig/src/common/proto-irc.c Sun Jul 29 08:02:36 2007 +++ xchat2/src/common/proto-irc.c Sun Sep 23 10:56:16 2007 @@ -104,10 +104,7 @@ static void irc_quit (server *serv, char *reason) { - if (reason[0]) - tcp_sendf (serv, "QUIT :%s\r\n", reason); - else - tcp_send_len (serv, "QUIT\r\n", 6); + tcp_sendf (serv, "QUIT :%s\r\n", reason); } static void diff -ruN xchat2.orig/src/fe-gtk/about.c xchat2/src/fe-gtk/about.c --- xchat2.orig/src/fe-gtk/about.c Sun Jul 1 07:32:38 2007 +++ xchat2/src/fe-gtk/about.c Sun Sep 23 10:57:50 2007 @@ -129,7 +129,7 @@ "Renderer: %s\n" #endif "Compiled: "__DATE__"\n\n" - "\302\251 1998-2007 Peter \305\275elezn\303\275 <zed@xchat.org>", + "\302\251 1998-2007 Peter \305\275elezn\303\275 <zed@xchat.org>\n\302\251 2003-2007 Vaidrius Petrauskas <silverex@silverex.org>", _("A multiplatform IRC Client"), get_cpu_str(), locale, diff -ruN xchat2.orig/src/fe-gtk/servlistgui.c xchat2/src/fe-gtk/servlistgui.c --- xchat2.orig/src/fe-gtk/servlistgui.c Wed Nov 22 05:14:06 2006 +++ xchat2/src/fe-gtk/servlistgui.c Sun Sep 23 10:56:16 2007 @@ -96,6 +96,7 @@ "ISO-8859-7 (Greek)", "ISO-8859-8 (Hebrew)", "ISO-8859-9 (Turkish)", + "ISO-8859-13 (Baltic)", "ISO-2022-JP (Japanese)", "SJIS (Japanese)", "CP949 (Korean)", diff -ruN xchat2.orig/src/makeinc.msc xchat2/src/makeinc.msc --- xchat2.orig/src/makeinc.msc Mon Mar 13 09:33:44 2006 +++ xchat2/src/makeinc.msc Sun Sep 23 10:56:16 2007 @@ -1,97 +1,97 @@ -### EDIT THESE ################################################ -#OPENSSL = YES -#IPV6 = YES -#MMX = YES -GLIB = editme -GTK = editme -LIBS = editme -# optimize for Pentium and size -CFLAGS = /G5 /O1 -############################################################### - -PERLPATH = C:\PERL\LIB\CORE -PERLLIB = perl58 -PERLOUTPUT = xcperl.dll - -PYTHONPATH = C:\PYTHON24 -PYTHONLIB = python24 -PYTHONOUTPUT = xcpython.dll - -TCLPATH = C:\TCL -TCLLIB = tcl84 -TCLOUTPUT = xctcl.dll - -CC = cl -LINK = link -CFLAGS = $(CFLAGS) -Dstrcasecmp=stricmp -Dstrncasecmp=strnicmp /MD /nologo /DWIN32 /DG_DISABLE_CAST_CHECKS -LIBS = $(LIBS) dirent.lib gdi32.lib shell32.lib user32.lib advapi32.lib imm32.lib ole32.lib winmm.lib - -!IFDEF IPV6 -CFLAGS = $(CFLAGS) -DUSE_IPV6 -LIBS = $(LIBS) ws2_32.lib -!ELSE -LIBS = $(LIBS) wsock32.lib -!ENDIF - -!IFDEF OPENSSL -CFLAGS = $(CFLAGS) /DUSE_OPENSSL -LIBS = $(LIBS) libeay32.lib libssl32.lib -SSLOBJ = ssl.obj -!ENDIF - -COMMON_OBJECTS = \ -cfgfiles.obj \ -ctcp.obj \ -dcc.obj \ -history.obj \ -ignore.obj \ -inbound.obj \ -modes.obj \ -network.obj \ -notify.obj \ -outbound.obj \ -plugin.obj \ -plugin-timer.obj \ -proto-irc.obj \ -server.obj \ -servlist.obj \ -$(SSLOBJ) \ -text.obj \ -tree.obj \ -url.obj \ -userlist.obj \ -util.obj \ -xchat.obj - -FEGTK_OBJECTS = \ -about.obj \ -ascii.obj \ -banlist.obj \ -chanlist.obj \ -chanview.obj \ -dccgui.obj \ -editlist.obj \ -fe-gtk.obj \ -fkeys.obj \ -gtkutil.obj \ -ignoregui.obj \ -joind.obj \ -maingui.obj \ -menu.obj \ -notifygui.obj \ -palette.obj \ -pixmaps.obj \ -plugingui.obj \ -rawlog.obj \ -search.obj \ -servlistgui.obj \ -setup.obj \ -textgui.obj \ -urlgrab.obj \ -userlistgui.obj \ -xtext.obj - -!IFDEF MMX -FEGTK_OBJECTS = $(FEGTK_OBJECTS) mmx_cmod.o -CFLAGS = $(CFLAGS) -DUSE_MMX -!ENDIF +### EDIT THESE ################################################ +OPENSSL = YES +IPV6 = YES +MMX = YES +GLIB = -ID:/dev/root/include/glib-2.0 -ID:/dev/root/lib/glib-2.0/include -ID:/dev/root/include +GTK = -mms-bitfields -ID:/dev/root/include/gtk-2.0 -ID:/dev/root/lib/gtk-2.0/include -ID:/dev/root/include/atk-1.0 -ID:/dev/root/include/cairo -ID:/dev/root/include/pango-1.0 -ID:/dev/root/include/glib-2.0 -ID:/dev/root/lib/glib-2.0/include +LIBS = /libpath:D:/dev/root/lib gtk-win32-2.0.lib gdk-win32-2.0.lib atk-1.0.lib gdk_pixbuf-2.0.lib pangowin32-1.0.lib gdi32.lib pangocairo-1.0.lib fontconfig.lib freetype.lib pango-1.0.lib cairo.lib gobject-2.0.lib gmodule-2.0.lib glib-2.0.lib intl.lib iconv.lib comdlg32.lib +# optimize for Pentium and size +CFLAGS = /G5 /O1 +############################################################### + +PERLPATH = C:\ACTIVE\PERL\LIB\CORE +PERLLIB = perl58 +PERLOUTPUT = xcperl.dll + +PYTHONPATH = C:\ACTIVE\PYTHON23 +PYTHONLIB = python23 +PYTHONOUTPUT = xcpython.dll + +TCLPATH = C:\ACTIVE\TCL +TCLLIB = tcl84 +TCLOUTPUT = xctcl.dll + +CC = cl +LINK = link +CFLAGS = $(CFLAGS) -Dstrcasecmp=stricmp -Dstrncasecmp=strnicmp /MD /nologo /DWIN32 /DG_DISABLE_CAST_CHECKS +LIBS = $(LIBS) dirent.lib gdi32.lib shell32.lib user32.lib advapi32.lib imm32.lib ole32.lib winmm.lib + +!IFDEF IPV6 +CFLAGS = $(CFLAGS) -DUSE_IPV6 +LIBS = $(LIBS) ws2_32.lib +!ELSE +LIBS = $(LIBS) wsock32.lib +!ENDIF + +!IFDEF OPENSSL +CFLAGS = $(CFLAGS) /DUSE_OPENSSL +LIBS = $(LIBS) libeay32.lib ssleay32.lib /DELAYLOAD:libeay32.dll /DELAYLOAD:ssleay32.dll DELAYIMP.LIB +SSLOBJ = ssl.obj +!ENDIF + +COMMON_OBJECTS = \ +cfgfiles.obj \ +ctcp.obj \ +dcc.obj \ +history.obj \ +ignore.obj \ +inbound.obj \ +modes.obj \ +network.obj \ +notify.obj \ +outbound.obj \ +plugin.obj \ +plugin-timer.obj \ +proto-irc.obj \ +server.obj \ +servlist.obj \ +$(SSLOBJ) \ +text.obj \ +tree.obj \ +url.obj \ +userlist.obj \ +util.obj \ +xchat.obj + +FEGTK_OBJECTS = \ +about.obj \ +ascii.obj \ +banlist.obj \ +chanlist.obj \ +chanview.obj \ +dccgui.obj \ +editlist.obj \ +fe-gtk.obj \ +fkeys.obj \ +gtkutil.obj \ +ignoregui.obj \ +joind.obj \ +maingui.obj \ +menu.obj \ +notifygui.obj \ +palette.obj \ +pixmaps.obj \ +plugingui.obj \ +rawlog.obj \ +search.obj \ +servlistgui.obj \ +setup.obj \ +textgui.obj \ +urlgrab.obj \ +userlistgui.obj \ +xtext.obj + +!IFDEF MMX +FEGTK_OBJECTS = $(FEGTK_OBJECTS) mmx_cmod.o +CFLAGS = $(CFLAGS) -DUSE_MMX +!ENDIF diff -ruN xchat2.orig/version.diff xchat2/version.diff --- xchat2.orig/version.diff Thu Jan 1 02:00:00 1970 +++ xchat2/version.diff Sun Mar 18 20:30:34 2007 @@ -0,0 +1,40 @@ +diff -urN xchat-2.4.5/src/fe-gtk/makefile.msc xchat-2.4.5_md/src/fe-gtk/makefile.msc +--- xchat-2.4.5/src/fe-gtk/makefile.msc 2005-09-17 20:39:06.328125000 -0400 ++++ xchat-2.4.5_md/src/fe-gtk/makefile.msc 2005-09-17 20:45:38.281250000 -0400 +@@ -18,7 +18,8 @@ + + xchat.rc: + echo XC_ICON ICON "../../xchat.ico" > xchat.rc +- echo 1 24 "xchat.exe.manifest" >> xchat.rc ++ echo 1 24 "xchat.exe.manifest" >> xchat.rc ++ echo #include "version.rc" >> xchat.rc + + xchat.res: xchat.rc xchat.exe.manifest ../../xchat.ico + rc /r xchat.rc +diff -urN xchat-2.4.5/src/fe-gtk/version.rc xchat-2.4.5_md/src/fe-gtk/version.rc +--- xchat-2.4.5/src/fe-gtk/version.rc 1969-12-31 19:00:00.000000000 -0500 ++++ xchat-2.4.5_md/src/fe-gtk/version.rc 2005-09-17 20:45:15.406250000 -0400 +@@ -0,0 +1,23 @@ ++#define VERINF1 1 ++VERINF1 VERSIONINFO ++FILEVERSION 2,6,4,0 ++PRODUCTVERSION 2,6,4,0 ++FILEOS 0x00000004 ++FILETYPE 0x00000001 ++BEGIN ++ BLOCK "StringFileInfo" ++ BEGIN ++ BLOCK "040904B0" ++ BEGIN ++ VALUE "FileVersion", "2.6.4\0" ++ VALUE "FileDescription", "X-Chat IRC Client\0" ++ VALUE "LegalCopyright", "© 1998-2006 Peter Zelezny, Vaidrius Petrauskas.\0" ++ VALUE "ProductName", "X-Chat\0" ++ VALUE "ProductVersion", "2.6.4\0" ++ END ++ END ++ BLOCK "VarFileInfo" ++ BEGIN ++ VALUE "Translation", 0x0409, 0x04B0 ++ END ++END diff -ruN xchat2.orig/win32-httpproxy.diff xchat2/win32-httpproxy.diff --- xchat2.orig/win32-httpproxy.diff Thu Jan 1 02:00:00 1970 +++ xchat2/win32-httpproxy.diff Sun Mar 18 20:30:34 2007 @@ -0,0 +1,12 @@ +diff -urN xchat2.orig/src/common/server.c xchat2/src/common/server.c +--- xchat2.orig/src/common/server.c 2005-12-18 20:20:34.140625000 -0500 ++++ xchat2/src/common/server.c 2005-12-13 09:44:48.000000000 -0500 +@@ -1291,7 +1291,7 @@ + { + #ifdef WIN32 + /* make sure waitline() uses recv() or it'll fail on win32 */ +- len = waitline (sok, buf, len, FALSE); ++ len = waitline (sok, buf, len, TRUE); + #else + len = waitline (sok, buf, len, TRUE); + #endif diff -ruN xchat2.orig/win32-logdates.diff xchat2/win32-logdates.diff --- xchat2.orig/win32-logdates.diff Thu Jan 1 02:00:00 1970 +++ xchat2/win32-logdates.diff Sun Mar 18 20:30:34 2007 @@ -0,0 +1,39 @@ +diff -ur xchat2.orig/src/common/text.c xchat2/src/common/text.c +--- xchat2.orig/src/common/text.c 2005-11-06 22:47:49.000000000 -0500 ++++ xchat2/src/common/text.c 2005-12-15 21:46:59.750000000 -0500 +@@ -149,6 +149,22 @@ + return dest - 1; + } + ++static char * ++magic_strcpy (char *dest, char *src, char *end) ++{ ++ while (*src) ++ { ++ *dest = *src; ++ if (dest + 1 == end) ++ break; ++ dest++; ++ src++; ++ } ++ ++ dest[0] = 0; ++ return dest - 1; ++} ++ + /* substitutes %c %n %s into buffer */ + + static void +@@ -177,6 +193,12 @@ + case 's': + buf = log_escape_strcpy (buf, s, end); + break; ++ case 'D': ++ buf = magic_strcpy (buf, "%m/%d/%y", end); ++ break; ++ case 'F': ++ buf = magic_strcpy (buf, "%Y-%m-%d", end); ++ break; + default: + buf[0] = '%'; + buf++; diff -ruN xchat2.orig/xc.diff xchat2/xc.diff --- xchat2.orig/xc.diff Thu Jan 1 02:00:00 1970 +++ xchat2/xc.diff Sun Mar 18 20:30:34 2007 @@ -0,0 +1,334 @@ +diff -ru xchat-2.6.4.orig/plugins/perl/makefile.msc xchat-2.6.4/plugins/perl/makefile.msc +--- xchat-2.6.4.orig/plugins/perl/makefile.msc Tue Mar 29 08:11:50 2005 ++++ xchat-2.6.4/plugins/perl/makefile.msc Thu Jun 15 22:41:02 2006 +@@ -1,29 +1,29 @@ +-include "..\..\src\makeinc.msc" +- +-TARGET = $(PERLOUTPUT) +- +-all: $(TARGET) +- +-perl.def: +- echo EXPORTS > perl.def +- echo xchat_plugin_init >> perl.def +- echo xchat_plugin_deinit >> perl.def +- echo xchat_plugin_get_info >> perl.def +- +-perl.obj: perl.c +- $(CC) $(CFLAGS) -c perl.c $(GLIB) -I.. -I$(PERLPATH) -DPERL_DLL=\"$(PERLLIB).dll\" +- +-perl.c: xchat.pm.h +- +-xchat.pm.h: Xchat.pm IRC.pm +- perl.exe generate_header +- +-$(TARGET): perl.obj perl.def +- $(LINK) /DLL /out:$(TARGET) /SUBSYSTEM:WINDOWS /nologo perl.obj $(PERLLIB).lib /LIBPATH:$(PERLPATH) /DELAYLOAD:$(PERLLIB).dll DELAYIMP.LIB dirent.lib user32.lib shell32.lib advapi32.lib /def:perl.def /OPT:NOWIN98 +- +-clean: +- del $(TARGET) +- del *.obj +- del perl.def +- del *.lib +- del *.exp ++include "..\..\src\makeinc.msc" ++ ++TARGET = $(PERLOUTPUT) ++ ++all: $(TARGET) ++ ++perl.def: ++ echo EXPORTS > perl.def ++ echo xchat_plugin_init >> perl.def ++ echo xchat_plugin_deinit >> perl.def ++ echo xchat_plugin_get_info >> perl.def ++ ++perl.obj: perl.c ++ $(CC) $(CFLAGS) -c perl.c $(GLIB) -I.. -I$(PERLPATH) -DPERL_DLL=\"$(PERLLIB).dll\" ++ ++perl.c: xchat.pm.h ++ ++xchat.pm.h: Xchat.pm IRC.pm ++ perl.exe generate_header ++ ++$(TARGET): perl.obj perl.def ++ $(LINK) /DLL /out:$(TARGET) /SUBSYSTEM:WINDOWS /nologo perl.obj $(PERLLIB).lib /LIBPATH:$(PERLPATH) /DELAYLOAD:$(PERLLIB).dll DELAYIMP.LIB dirent.lib user32.lib shell32.lib advapi32.lib $(LIBS) /def:perl.def /OPT:NOWIN98 ++ ++clean: ++ del $(TARGET) ++ del *.obj ++ del perl.def ++ del *.lib ++ del *.exp +Only in xchat-2.6.4: run.bat +diff -ru xchat-2.6.4.orig/src/common/cfgfiles.c xchat-2.6.4/src/common/cfgfiles.c +--- xchat-2.6.4.orig/src/common/cfgfiles.c Mon May 22 17:27:10 2006 ++++ xchat-2.6.4/src/common/cfgfiles.c Thu Jun 15 22:41:02 2006 +@@ -36,7 +36,7 @@ + #else + #define XCHAT_DIR ".xchat2" + #endif +-#define DEF_FONT "Monospace 9" ++#define DEF_FONT "Fixedsys Excelsior 2.00 11" + + void + list_addentry (GSList ** list, char *cmd, char *name) +@@ -590,7 +590,6 @@ + prefs.irc_join_delay = 3; + prefs.show_marker = 1; + prefs.newtabstofront = 2; +- prefs.completion_amount = 5; + prefs.away_timeout = 60; + prefs.away_size_max = 300; + prefs.away_track = 1; +Only in xchat-2.6.4/src/common: cfgfiles.c.orig +diff -ru xchat-2.6.4.orig/src/common/proto-irc.c xchat-2.6.4/src/common/proto-irc.c +--- xchat-2.6.4.orig/src/common/proto-irc.c Wed Jun 7 05:37:10 2006 ++++ xchat-2.6.4/src/common/proto-irc.c Thu Jun 15 22:41:02 2006 +@@ -104,10 +104,7 @@ + static void + irc_quit (server *serv, char *reason) + { +- if (reason[0]) +- tcp_sendf (serv, "QUIT :%s\r\n", reason); +- else +- tcp_send_len (serv, "QUIT\r\n", 6); ++ tcp_sendf (serv, "QUIT :%s\r\n", reason); + } + + static void +Only in xchat-2.6.4/src/common: proto-irc.c.orig +diff -ru xchat-2.6.4.orig/src/fe-gtk/about.c xchat-2.6.4/src/fe-gtk/about.c +--- xchat-2.6.4.orig/src/fe-gtk/about.c Mon May 22 17:27:10 2006 ++++ xchat-2.6.4/src/fe-gtk/about.c Thu Jun 15 22:41:02 2006 +@@ -118,17 +118,16 @@ + "XChat "PACKAGE_VERSION"\n\n" + "%s\n\n" + "%s\n" +- "Charset: %s " ++ "Charset: UTF-8 " + #ifdef WIN32 + "GTK+: %i.%i.%i\n" + #else + "Renderer: %s\n" + #endif + "Compiled: "__DATE__"\n\n" +- "\302\251 1998-2006 Peter \305\275elezn\303\275 <zed@xchat.org>", ++ "\302\251 1998-2006 Peter \305\275elezn\303\275 <zed@xchat.org>\n\302\251 2003-2006 Vaidrius Petrauskas <silverex@silverex.org>", + _("A multiplatform IRC Client"), + get_cpu_str(), +- locale, + #ifdef WIN32 + gtk_major_version, + gtk_minor_version, +Only in xchat-2.6.4/src/fe-gtk: about.c.orig +diff -ru xchat-2.6.4.orig/src/fe-gtk/servlistgui.c xchat-2.6.4/src/fe-gtk/servlistgui.c +--- xchat-2.6.4.orig/src/fe-gtk/servlistgui.c Sun May 21 14:32:48 2006 ++++ xchat-2.6.4/src/fe-gtk/servlistgui.c Thu Jun 15 22:41:02 2006 +@@ -95,6 +95,7 @@ + "ISO-8859-7 (Greek)", + "ISO-8859-8 (Hebrew)", + "ISO-8859-9 (Turkish)", ++ "ISO-8859-13 (Baltic)", + "ISO-2022-JP (Japanese)", + "SJIS (Japanese)", + "CP949 (Korean)", +Only in xchat-2.6.4/src/fe-gtk: servlistgui.c.orig +diff -ru xchat-2.6.4.orig/src/makeinc.msc xchat-2.6.4/src/makeinc.msc +--- xchat-2.6.4.orig/src/makeinc.msc Mon Mar 13 09:13:28 2006 ++++ xchat-2.6.4/src/makeinc.msc Thu Jun 15 22:46:40 2006 +@@ -1,97 +1,97 @@ +-### EDIT THESE ################################################ +-#OPENSSL = YES +-#IPV6 = YES +-#MMX = YES +-GLIB = editme +-GTK = editme +-LIBS = editme +-# optimize for Pentium and size +-CFLAGS = /G5 /O1 +-############################################################### +- +-PERLPATH = C:\PERL\LIB\CORE +-PERLLIB = perl58 +-PERLOUTPUT = xcperl.dll +- +-PYTHONPATH = C:\PYTHON24 +-PYTHONLIB = python24 +-PYTHONOUTPUT = xcpython.dll +- +-TCLPATH = C:\TCL +-TCLLIB = tcl84 +-TCLOUTPUT = xctcl.dll +- +-CC = cl +-LINK = link +-CFLAGS = $(CFLAGS) -Dstrcasecmp=stricmp -Dstrncasecmp=strnicmp /MD /nologo /DWIN32 /DG_DISABLE_CAST_CHECKS +-LIBS = $(LIBS) dirent.lib gdi32.lib shell32.lib user32.lib advapi32.lib imm32.lib ole32.lib winmm.lib +- +-!IFDEF IPV6 +-CFLAGS = $(CFLAGS) -DUSE_IPV6 +-LIBS = $(LIBS) ws2_32.lib +-!ELSE +-LIBS = $(LIBS) wsock32.lib +-!ENDIF +- +-!IFDEF OPENSSL +-CFLAGS = $(CFLAGS) /DUSE_OPENSSL +-LIBS = $(LIBS) libeay32.lib libssl32.lib +-SSLOBJ = ssl.obj +-!ENDIF +- +-COMMON_OBJECTS = \ +-cfgfiles.obj \ +-ctcp.obj \ +-dcc.obj \ +-history.obj \ +-ignore.obj \ +-inbound.obj \ +-modes.obj \ +-network.obj \ +-notify.obj \ +-outbound.obj \ +-plugin.obj \ +-plugin-timer.obj \ +-proto-irc.obj \ +-server.obj \ +-servlist.obj \ +-$(SSLOBJ) \ +-text.obj \ +-tree.obj \ +-url.obj \ +-userlist.obj \ +-util.obj \ +-xchat.obj +- +-FEGTK_OBJECTS = \ +-about.obj \ +-ascii.obj \ +-banlist.obj \ +-chanlist.obj \ +-chanview.obj \ +-dccgui.obj \ +-editlist.obj \ +-fe-gtk.obj \ +-fkeys.obj \ +-gtkutil.obj \ +-ignoregui.obj \ +-joind.obj \ +-maingui.obj \ +-menu.obj \ +-notifygui.obj \ +-palette.obj \ +-pixmaps.obj \ +-plugingui.obj \ +-rawlog.obj \ +-search.obj \ +-servlistgui.obj \ +-setup.obj \ +-textgui.obj \ +-urlgrab.obj \ +-userlistgui.obj \ +-xtext.obj +- +-!IFDEF MMX +-FEGTK_OBJECTS = $(FEGTK_OBJECTS) mmx_cmod.o +-CFLAGS = $(CFLAGS) -DUSE_MMX +-!ENDIF ++### EDIT THESE ################################################ ++OPENSSL = YES ++IPV6 = YES ++MMX = YES ++GLIB = -ID:/dev/root/include/glib-2.0 -ID:/dev/root/lib/glib-2.0/include -ID:/dev/root/include ++GTK = -mms-bitfields -ID:/dev/root/include/gtk-2.0 -ID:/dev/root/lib/gtk-2.0/include -ID:/dev/root/include/atk-1.0 -ID:/dev/root/include/cairo -ID:/dev/root/include/pango-1.0 -ID:/dev/root/include/glib-2.0 -ID:/dev/root/lib/glib-2.0/include ++LIBS = /libpath:D:/dev/root/lib gtk-win32-2.0.lib gdk-win32-2.0.lib atk-1.0.lib gdk_pixbuf-2.0.lib pangowin32-1.0.lib gdi32.lib pangocairo-1.0.lib fontconfig.lib freetype.lib pango-1.0.lib cairo.lib gobject-2.0.lib gmodule-2.0.lib glib-2.0.lib intl.lib iconv.lib comdlg32.lib ++# optimize for Pentium and size ++CFLAGS = /G5 /O1 ++############################################################### ++ ++PERLPATH = C:\ACTIVE\PERL\LIB\CORE ++PERLLIB = perl58 ++PERLOUTPUT = xcperl.dll ++ ++PYTHONPATH = C:\ACTIVE\PYTHON23 ++PYTHONLIB = python23 ++PYTHONOUTPUT = xcpython.dll ++ ++TCLPATH = C:\ACTIVE\TCL ++TCLLIB = tcl84 ++TCLOUTPUT = xctcl.dll ++ ++CC = cl ++LINK = link ++CFLAGS = $(CFLAGS) -Dstrcasecmp=stricmp -Dstrncasecmp=strnicmp /MD /nologo /DWIN32 /DG_DISABLE_CAST_CHECKS ++LIBS = $(LIBS) dirent.lib gdi32.lib shell32.lib user32.lib advapi32.lib imm32.lib ole32.lib winmm.lib ++ ++!IFDEF IPV6 ++CFLAGS = $(CFLAGS) -DUSE_IPV6 ++LIBS = $(LIBS) ws2_32.lib ++!ELSE ++LIBS = $(LIBS) wsock32.lib ++!ENDIF ++ ++!IFDEF OPENSSL ++CFLAGS = $(CFLAGS) /DUSE_OPENSSL ++LIBS = $(LIBS) libeay32.lib ssleay32.lib /DELAYLOAD:libeay32.dll /DELAYLOAD:ssleay32.dll DELAYIMP.LIB ++SSLOBJ = ssl.obj ++!ENDIF ++ ++COMMON_OBJECTS = \ ++cfgfiles.obj \ ++ctcp.obj \ ++dcc.obj \ ++history.obj \ ++ignore.obj \ ++inbound.obj \ ++modes.obj \ ++network.obj \ ++notify.obj \ ++outbound.obj \ ++plugin.obj \ ++plugin-timer.obj \ ++proto-irc.obj \ ++server.obj \ ++servlist.obj \ ++$(SSLOBJ) \ ++text.obj \ ++tree.obj \ ++url.obj \ ++userlist.obj \ ++util.obj \ ++xchat.obj ++ ++FEGTK_OBJECTS = \ ++about.obj \ ++ascii.obj \ ++banlist.obj \ ++chanlist.obj \ ++chanview.obj \ ++dccgui.obj \ ++editlist.obj \ ++fe-gtk.obj \ ++fkeys.obj \ ++gtkutil.obj \ ++ignoregui.obj \ ++joind.obj \ ++maingui.obj \ ++menu.obj \ ++notifygui.obj \ ++palette.obj \ ++pixmaps.obj \ ++plugingui.obj \ ++rawlog.obj \ ++search.obj \ ++servlistgui.obj \ ++setup.obj \ ++textgui.obj \ ++urlgrab.obj \ ++userlistgui.obj \ ++xtext.obj ++ ++!IFDEF MMX ++FEGTK_OBJECTS = $(FEGTK_OBJECTS) mmx_cmod.o ++CFLAGS = $(CFLAGS) -DUSE_MMX ++!ENDIF diff -ruN xchat2.orig/xc260fixes.diff xchat2/xc260fixes.diff --- xchat2.orig/xc260fixes.diff Thu Jan 1 02:00:00 1970 +++ xchat2/xc260fixes.diff Sun Mar 18 20:30:34 2007 @@ -0,0 +1,12 @@ +diff -ur xchat2/src/common/server.c good_xchat2/src/common/server.c +--- xchat2/src/common/server.c 2005-10-28 06:57:01.000000000 -0400 ++++ good_xchat2/src/common/server.c 2005-10-29 18:06:08.437500000 -0400 +@@ -1581,7 +1581,7 @@ + } + #endif + serv->childpid = pid; +- serv->iotag = fe_input_add (serv->childread, FIA_READ, server_read_child, ++ serv->iotag = fe_input_add (serv->childread, FIA_READ|FIA_FD, server_read_child, + serv); + } + diff -ruN xchat2.orig/xc264-active-whois-default.diff xchat2/xc264-active-whois-default.diff --- xchat2.orig/xc264-active-whois-default.diff Thu Jan 1 02:00:00 1970 +++ xchat2/xc264-active-whois-default.diff Sun Mar 18 20:30:34 2007 @@ -0,0 +1,18 @@ +--- xchat-2.6.4.orig/src/common/cfgfiles.c Mon May 22 17:27:10 2006 ++++ xchat-2.6.4/src/common/cfgfiles.c Thu Jun 15 22:57:40 2006 +@@ -590,7 +590,6 @@ + prefs.irc_join_delay = 3; + prefs.show_marker = 1; + prefs.newtabstofront = 2; +- prefs.completion_amount = 5; + prefs.away_timeout = 60; + prefs.away_size_max = 300; + prefs.away_track = 1; +@@ -648,6 +647,7 @@ + prefs.mainwindow_save = 1; + prefs.bantype = 2; + prefs.flash_hilight = 1; ++ prefs.irc_whois_front = 1; + prefs.autodccsend = 2; /* browse mode */ + #ifdef WIN32 + prefs.identd = 1; diff -ruN xchat2.orig/xchat-empty-quit-msg.diff xchat2/xchat-empty-quit-msg.diff --- xchat2.orig/xchat-empty-quit-msg.diff Thu Jan 1 02:00:00 1970 +++ xchat2/xchat-empty-quit-msg.diff Sun Mar 18 20:30:34 2007 @@ -0,0 +1,12 @@ +diff -ru xchat2.orig/src/common/proto-irc.c xchat2/src/common/proto-irc.c +--- xchat2.orig/src/common/proto-irc.c 2003-07-02 19:52:09.000000000 +0300 ++++ xchat2/src/common/proto-irc.c 2003-07-02 19:57:31.000000000 +0300 +@@ -88,7 +88,7 @@ + if (reason[0]) + tcp_sendf (serv, "QUIT :%s\r\n", reason); + else +- tcp_send_len (serv, "QUIT\r\n", 6); ++ tcp_send_len (serv, "QUIT :\r\n", 8); + } + + static void diff -ruN xchat2.orig/xchat_dyn_ssl.diff xchat2/xchat_dyn_ssl.diff --- xchat2.orig/xchat_dyn_ssl.diff Thu Jan 1 02:00:00 1970 +++ xchat2/xchat_dyn_ssl.diff Sun Mar 18 20:30:34 2007 @@ -0,0 +1,31 @@ +--- xchat2/src/common/server.c 2003-01-11 14:26:52.000000000 +1100 ++++ xchat2-dynssl/src/common/server.c 2003-01-18 17:45:28.000000000 +1100 +@@ -1231,11 +1231,28 @@ + server_connect (server *serv, char *hostname, int port, int no_login) + { + int pid, read_des[2]; + session *sess = serv->server_session; ++ HINSTANCE lib; + + #ifdef USE_OPENSSL + if (!ctx && serv->use_ssl) + { ++ lib = LoadLibrary ("LIBEAY32.dll"); ++ if (!lib) ++ { ++ PrintText (sess, "SSL libraries not installed.\n"); ++ return; ++ } ++ FreeLibrary (lib); ++ ++ lib = LoadLibrary ("SSLEAY32.dll"); ++ if (!lib) ++ { ++ PrintText (sess, "SSL libraries not installed.\n"); ++ return; ++ } ++ FreeLibrary (lib); ++ + if (!(ctx = _SSL_context_init (ssl_cb_info, FALSE))) + { + fprintf (stderr, "_SSL_context_init failed\n"); diff -ruN xchat2.orig/xchatnativeopenfile11savefile.diff xchat2/xchatnativeopenfile11savefile.diff --- xchat2.orig/xchatnativeopenfile11savefile.diff Thu Jan 1 02:00:00 1970 +++ xchat2/xchatnativeopenfile11savefile.diff Sun Mar 18 20:30:34 2007 @@ -0,0 +1,450 @@ +diff -ruN xchat-2.6.4.orig/src/common/thread.c xchat-2.6.4/src/common/thread.c +--- xchat-2.6.4.orig/src/common/thread.c Thu Jan 1 02:00:00 1970 ++++ xchat-2.6.4/src/common/thread.c Wed Jun 21 18:30:04 2006 +@@ -0,0 +1,111 @@ ++#include ++#include ++ ++#define USE_PTHREAD ++ ++#ifdef WIN32 ++ ++#include ++#define pthread_t DWORD ++#define pipe(a) _pipe(a,4096,_O_BINARY) ++ ++#else ++#ifdef USE_PTHREAD ++ ++#include ++ ++#else ++ ++#include ++#include ++#include ++#define pthread_t int ++ ++#endif ++#endif ++ ++ ++typedef struct ++{ ++ pthread_t threadid; ++ int pipe_fd[2]; ++} thread; ++ ++thread * ++thread_new (void) ++{ ++ thread *th; ++ ++ th = calloc (1, sizeof (*th)); ++ if (!th) ++ return NULL; ++ ++ if (pipe (th->pipe_fd) == -1) ++ { ++ free (th); ++ return NULL; ++ } ++ ++#ifdef __EMX__ /* os/2 */ ++ setmode (pipe_fd[0], O_BINARY); ++ setmode (pipe_fd[1], O_BINARY); ++#endif ++ ++ return th; ++} ++ ++int ++thread_start (thread *th, void *(*start_routine)(void *), void *arg) ++{ ++ pthread_t id; ++ ++#ifdef WIN32 ++ CloseHandle (CreateThread (NULL, 0, ++ (LPTHREAD_START_ROUTINE)start_routine, ++ arg, 0, (DWORD *)&id)); ++#else ++#ifdef USE_PTHREAD ++ if (pthread_create (&id, NULL, start_routine, arg) != 0) ++ return 0; ++#else ++ switch (id = fork ()) ++ { ++ case -1: ++ return 0; ++ case 0: ++ /* this is the child */ ++ setuid (getuid ()); ++ start_routine (arg); ++ _exit (0); ++ } ++#endif ++#endif ++ ++ th->threadid = id; ++ ++ return 1; ++} ++ ++/*void ++thread_kill (thread *th) ++{ ++#ifdef WIN32 ++ PostThreadMessage (th->threadid, WM_QUIT, 0, 0); ++#else ++#ifdef USE_PTHREAD ++ pthread_cancel (th->threadid); ++ pthread_join (th->threadid, (void *)&th); ++#else ++ kill (th->threadid, SIGKILL); ++ waitpid (th->threadid, NULL, 0); ++#endif ++#endif ++} ++ ++void ++thread_free (thread *th) ++{ ++ close (th->pipe_fd[0]); ++ close (th->pipe_fd[1]); ++ free (th); ++}*/ +diff -ruN xchat-2.6.4.orig/src/fe-gtk/gtkutil.c xchat-2.6.4/src/fe-gtk/gtkutil.c +--- xchat-2.6.4.orig/src/fe-gtk/gtkutil.c Tue Jun 6 04:35:02 2006 ++++ xchat-2.6.4/src/fe-gtk/gtkutil.c Wed Jun 21 18:34:44 2006 +@@ -50,6 +50,10 @@ + #include "../common/fe.h" + #include "gtkutil.h" + #include "pixmaps.h" ++#ifdef WIN32 ++#include "../common/fe.h" ++#include "../common/thread.c" ++#endif + + /* gtkutil.c, just some gtk wrappers */ + +@@ -62,6 +66,13 @@ + void *userdata; + filereqcallback callback; + int flags; /* FRF_* flags */ ++ ++ #ifdef WIN32 ++ int multiple; ++ thread *th; ++ char *title; /* native locale */ ++ char *filter; ++ #endif + }; + + static char last_dir[256] = ""; +@@ -180,6 +191,198 @@ + } + } + ++#ifdef WIN32 ++ ++static int ++win32_openfile (char *file_buf, int file_buf_len, char *title_text, char *filter, ++ int multiple) ++{ ++ OPENFILENAME o; ++ ++ memset (&o, 0, sizeof (o)); ++ ++ o.lStructSize = sizeof (o); ++ o.lpstrFilter = filter; ++ o.lpstrFile = file_buf; ++ o.nMaxFile = file_buf_len; ++ o.lpstrTitle = title_text; ++ o.Flags = 0x02000000 | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY | ++ OFN_NOCHANGEDIR | OFN_EXPLORER | OFN_LONGNAMES | OFN_NONETWORKBUTTON; ++ if (multiple) ++ o.Flags |= OFN_ALLOWMULTISELECT; ++ ++ return GetOpenFileName (&o); ++} ++ ++static int ++win32_savefile (char *file_buf, int file_buf_len, char *title_text, char *filter, ++ int multiple) ++{ ++ OPENFILENAME o; ++ ++ memset (&o, 0, sizeof (o)); ++ ++ o.lStructSize = sizeof (o); ++ o.lpstrFilter = filter; ++ o.lpstrFile = file_buf; ++ o.nMaxFile = file_buf_len; ++ o.lpstrTitle = title_text; ++ o.Flags = 0x02000000 | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY | ++ OFN_NOCHANGEDIR | OFN_EXPLORER | OFN_LONGNAMES | OFN_NONETWORKBUTTON; ++ if (multiple) ++ o.Flags |= OFN_ALLOWMULTISELECT; ++ ++ return GetSaveFileName (&o); ++} ++ ++static void * ++win32_thread (struct file_req *freq) ++{ ++ char buf[1024 + 32]; ++ char file[1024]; ++ ++ memset (file, 0, sizeof (file)); ++ safe_strcpy (file, last_dir, sizeof (file)); ++ ++ if (win32_openfile (file, sizeof (file), freq->title, freq->filter, freq->multiple)) ++ { ++ if (freq->multiple) ++ { ++ char *f = file; ++ ++ if (f[strlen (f) + 1] == 0) /* only selected one file */ ++ { ++ snprintf (buf, sizeof (buf), "1\n%s\n", file); ++ write (freq->th->pipe_fd[1], buf, strlen (buf)); ++ } else ++ { ++ f += strlen (f) + 1; /* skip first, it's only the dir */ ++ while (f[0]) ++ { ++ snprintf (buf, sizeof (buf), "1\n%s\\%s\n", /*dir!*/file, f); ++ write (freq->th->pipe_fd[1], buf, strlen (buf)); ++ f += strlen (f) + 1; ++ } ++ } ++ ++ } else ++ { ++ snprintf (buf, sizeof (buf), "1\n%s\n", file); ++ write (freq->th->pipe_fd[1], buf, strlen (buf)); ++ } ++ } ++ ++ write (freq->th->pipe_fd[1], "0\n", 2); ++ Sleep (2000); ++ ++ return NULL; ++} ++ ++static void * ++win32_thread2 (struct file_req *freq) ++{ ++ char buf[1024 + 32]; ++ char file[1024]; ++ ++ memset (file, 0, sizeof (file)); ++ safe_strcpy (file, last_dir, sizeof (file)); ++ ++ if (win32_savefile (file, sizeof (file), freq->title, freq->filter, freq->multiple)) ++ { ++ if (freq->multiple) ++ { ++ char *f = file; ++ ++ if (f[strlen (f) + 1] == 0) /* only selected one file */ ++ { ++ snprintf (buf, sizeof (buf), "1\n%s\n", file); ++ write (freq->th->pipe_fd[1], buf, strlen (buf)); ++ } else ++ { ++ f += strlen (f) + 1; /* skip first, it's only the dir */ ++ while (f[0]) ++ { ++ snprintf (buf, sizeof (buf), "1\n%s\\%s\n", /*dir!*/file, f); ++ write (freq->th->pipe_fd[1], buf, strlen (buf)); ++ f += strlen (f) + 1; ++ } ++ } ++ ++ } else ++ { ++ snprintf (buf, sizeof (buf), "1\n%s\n", file); ++ write (freq->th->pipe_fd[1], buf, strlen (buf)); ++ } ++ } ++ ++ write (freq->th->pipe_fd[1], "0\n", 2); ++ Sleep (2000); ++ ++ return NULL; ++} ++ ++static int ++waitline2 (GIOChannel *source, char *buf, int bufsize) ++{ ++ int i = 0; ++ int len; ++ ++ while (1) ++ { ++ if (g_io_channel_read (source, &buf[i], 1, &len) != G_IO_ERROR_NONE) ++ return -1; ++ if (buf[i] == '\n' || bufsize == i + 1) ++ { ++ buf[i] = 0; ++ return i; ++ } ++ i++; ++ } ++} ++ ++static gboolean ++win32_close_pipe (int fd) ++{ ++ close (fd); ++ return 0; ++} ++ ++static gboolean ++win32_read_thread (GIOChannel *source, GIOCondition cond, struct file_req *freq) ++{ ++ char buf[512]; ++ char *file; ++ ++ waitline2 (source, buf, sizeof buf); ++ ++ switch (buf[0]) ++ { ++ case '0': /* filedialog has closed */ ++ freq->callback (freq->userdata, NULL); ++ break; ++ ++ case '1': /* got a filename! */ ++ waitline2 (source, buf, sizeof buf); ++ file = g_filename_to_utf8 (buf, -1, 0, 0, 0); ++ freq->callback (freq->userdata, file); ++ g_free (file); ++ return TRUE; ++ } ++ ++ /* it doesn't work to close them here, because of the weird ++ way giowin32 works. We must _return_ before closing them */ ++ g_timeout_add(3000, (GSourceFunc)win32_close_pipe, freq->th->pipe_fd[0]); ++ g_timeout_add(2000, (GSourceFunc)win32_close_pipe, freq->th->pipe_fd[1]); ++ ++ g_free (freq->title); ++ free (freq->th); ++ free (freq); ++ ++ return FALSE; ++} ++ ++#endif ++ + void + gtkutil_file_req (const char *title, void *callback, void *userdata, char *filter, + int flags) +@@ -187,6 +390,53 @@ + struct file_req *freq; + GtkWidget *dialog; + extern char *get_xdir_fs (void); ++ ++ if (!(flags & FRF_WRITE)) ++ { ++ freq = malloc (sizeof (struct file_req)); ++ freq->th = thread_new (); ++ freq->flags = 0; ++ freq->multiple = (flags & FRF_MULTIPLE); ++ freq->callback = callback; ++ freq->userdata = userdata; ++ freq->title = g_locale_from_utf8 (title, -1, 0, 0, 0); ++ if (!filter) ++ freq->filter = "All files\000*.*\000" ++ "EXE files\000*.EXE\000" ++ "MP3 files\000*.MP3\000" ++ "MPEG files\000*.MPG;*.MPEG\000" ++ "RAR files\000*.RAR\000" ++ "ZIP files\000*.ZIP\000"; ++ else ++ freq->filter = filter; ++ ++ thread_start (freq->th, win32_thread, freq); ++ fe_input_add (freq->th->pipe_fd[0], FIA_FD|FIA_READ, win32_read_thread, freq); ++ ++ return; ++ ++ } ++ ++ else { ++ freq = malloc (sizeof (struct file_req)); ++ freq->th = thread_new (); ++ freq->flags = 0; ++ freq->multiple = (flags & FRF_MULTIPLE); ++ freq->callback = callback; ++ freq->userdata = userdata; ++ freq->title = g_locale_from_utf8 (title, -1, 0, 0, 0); ++ if (!filter) ++ freq->filter = "Text files\000*.TXT\000" ++ "All files\000*.*\000"; ++ else ++ freq->filter = filter; ++ ++ thread_start (freq->th, win32_thread2, freq); ++ fe_input_add (freq->th->pipe_fd[0], FIA_FD|FIA_READ, win32_read_thread, freq); ++ ++ return; ++ } ++#endif + + if (flags & FRF_WRITE) + { +diff -ruN xchat-2.6.4.orig/src/fe-gtk/makefile.msc xchat-2.6.4/src/fe-gtk/makefile.msc +--- xchat-2.6.4.orig/src/fe-gtk/makefile.msc Sun Jun 27 08:44:12 2004 ++++ xchat-2.6.4/src/fe-gtk/makefile.msc Wed Jun 21 18:30:04 2006 +@@ -13,13 +13,14 @@ + $(CC) $(CFLAGS) $(GLIB) $(GTK) /c $< + + $(PROG): $(FEGTK_OBJECTS) $(COMLIB) xchat-icon.obj +- $(LINK) /out:$(PROG) /SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup $(LDFLAGS) $(FEGTK_OBJECTS) $(COMLIB) xchat-icon.obj ++ $(LINK) /out:$(PROG) /SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup xchat-icon.obj $(LDFLAGS) $(FEGTK_OBJECTS) $(COMLIB) + @dir $(PROG) + + xchat.rc: + echo XC_ICON ICON "../../xchat.ico" > xchat.rc ++ echo 1 24 "xchat.exe.manifest" >> xchat.rc + +-xchat.res: xchat.rc ../../xchat.ico ++xchat.res: xchat.rc xchat.exe.manifest ../../xchat.ico + rc /r xchat.rc + + xchat-icon.obj: xchat.res +diff -ruN xchat-2.6.4.orig/src/fe-gtk/plugingui.c xchat-2.6.4/src/fe-gtk/plugingui.c +--- xchat-2.6.4.orig/src/fe-gtk/plugingui.c Thu Oct 20 06:37:04 2005 ++++ xchat-2.6.4/src/fe-gtk/plugingui.c Wed Jun 21 18:30:04 2006 +@@ -149,7 +149,9 @@ + plugingui_load (void) + { + gtkutil_file_req (_("Select a Plugin or Script to load"), plugingui_load_cb, +- current_sess, NULL, FRF_ADDFOLDER); ++ current_sess, ++ "Plugins and Scripts\000" "*.dll;*.pl;*.tcl;*.py\000" ++ "All files\000" "*.*\000", 0); + } + + static void +diff -ruN xchat-2.6.4.orig/src/fe-gtk/xchat.exe.manifest xchat-2.6.4/src/fe-gtk/xchat.exe.manifest +--- xchat-2.6.4.orig/src/fe-gtk/xchat.exe.manifest Thu Jan 1 02:00:00 1970 ++++ xchat-2.6.4/src/fe-gtk/xchat.exe.manifest Wed Jun 21 18:30:04 2006 +@@ -0,0 +1,16 @@ ++ ++ ++ ++IRC Client ++ ++