summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--share/doc/readme.md2
-rw-r--r--share/misc/hexchat.desktop1
-rw-r--r--src/common/cfgfiles.c11
-rw-r--r--src/common/outbound.c21
-rw-r--r--src/fe-gtk/about.c2
-rw-r--r--src/fe-gtk/maingui.c2
-rw-r--r--src/fe-gtk/plugin-tray.c6
-rw-r--r--src/fe-gtk/setup.c4
-rw-r--r--win32/deps-graph.txt27
-rw-r--r--win32/hexchat.props3
-rw-r--r--win32/hexchat.sln2
-rw-r--r--win32/installer/hexchat-x64.skel.iss6
-rw-r--r--win32/installer/hexchat-x86.skel.iss6
13 files changed, 46 insertions, 47 deletions
diff --git a/share/doc/readme.md b/share/doc/readme.md
index 9acc127e..11ddbd3e 100644
--- a/share/doc/readme.md
+++ b/share/doc/readme.md
@@ -9,7 +9,7 @@ provide binary packages linked to the OpenSSL libraries, provided that
 all other requirements of the GPL are met.
 See file COPYING for details.
 
-For building instructions, see [Building](http://www.hexchat.org/developers/building).
+For building instructions, see [Building](http://docs.hexchat.org/en/latest/building.html).
 
 ## What is it?
 
diff --git a/share/misc/hexchat.desktop b/share/misc/hexchat.desktop
index 9f7ee956..b56a4c29 100644
--- a/share/misc/hexchat.desktop
+++ b/share/misc/hexchat.desktop
@@ -21,3 +21,4 @@ Terminal=false
 Type=Application
 Categories=Network;
 StartupNotify=true
+X-GNOME-UsesNotifications=true
diff --git a/src/common/cfgfiles.c b/src/common/cfgfiles.c
index fd037525..9aac5a4f 100644
--- a/src/common/cfgfiles.c
+++ b/src/common/cfgfiles.c
@@ -619,7 +619,7 @@ convert_with_fallback (const char *str, const char *fallback)
 void
 load_config (void)
 {
-	char *cfg, *sp;
+	char *cfg, *sp, *buf;
 	const char *username, *realname;
 	int res, val, i;
 #ifdef WIN32
@@ -754,7 +754,10 @@ load_config (void)
 		snprintf (prefs.hex_dcc_dir, sizeof (prefs.hex_dcc_dir), "%s\\Downloads", out);
 	}
 #else
-	snprintf (prefs.hex_dcc_dir, sizeof (prefs.hex_dcc_dir), "%s/downloads", get_xdir ());
+	if (g_get_user_special_dir(G_USER_DIRECTORY_DOWNLOAD))
+		strcpy (prefs.hex_dcc_dir, g_get_user_special_dir(G_USER_DIRECTORY_DOWNLOAD));
+	else
+		strcpy (prefs.hex_dcc_dir, g_build_filename (g_get_home_dir (), "Downloads", NULL));
 #endif
 	strcpy (prefs.hex_dnsprogram, "host");
 	strcpy (prefs.hex_gui_ulist_doubleclick, "QUERY %s");
@@ -834,6 +837,10 @@ load_config (void)
 
 		g_mkdir (prefs.hex_dcc_dir, 0700);
 		g_mkdir (prefs.hex_dcc_completed_dir, 0700);
+
+		buf = g_strdup_printf ("%s" G_DIR_SEPARATOR_S "addons", get_xdir ());
+		g_mkdir (buf, 0700);
+		g_free (buf);
 	}
 	if (prefs.hex_gui_win_height < 138)
 		prefs.hex_gui_win_height = 138;
diff --git a/src/common/outbound.c b/src/common/outbound.c
index cc2d0e3e..c146c2ac 100644
--- a/src/common/outbound.c
+++ b/src/common/outbound.c
@@ -2348,17 +2348,26 @@ static int
 cmd_join (struct session *sess, char *tbuf, char *word[], char *word_eol[])
 {
 	char *chan = word[2];
+	session *sess_find;
 	if (*chan)
 	{
 		char *po, *pass = word[3];
-		sess->server->p_join (sess->server, chan, pass);
-		if (sess->channel[0] == 0 && sess->waitchannel[0])
+
+		sess_find = find_channel (sess->server, chan);
+		if (!sess_find)
 		{
-			po = strchr (chan, ',');
-			if (po)
-				*po = 0;
-			safe_strcpy (sess->waitchannel, chan, CHANLEN);
+			sess->server->p_join (sess->server, chan, pass);
+			if (sess->channel[0] == 0 && sess->waitchannel[0])
+			{
+				po = strchr (chan, ',');
+				if (po)
+					*po = 0;
+				safe_strcpy (sess->waitchannel, chan, CHANLEN);
+			}
 		}
+		else
+			fe_ctrl_gui (sess_find, 2, 0);	/* bring-to-front */
+		
 		return TRUE;
 	}
 	return FALSE;
diff --git a/src/fe-gtk/about.c b/src/fe-gtk/about.c
index 647d6603..54b71053 100644
--- a/src/fe-gtk/about.c
+++ b/src/fe-gtk/about.c
@@ -143,7 +143,7 @@ menu_about (GtkWidget * wid, gpointer sess)
 	gtk_label_set_markup (GTK_LABEL (label_info), buf);
 
 	/* label for copyright notices */
-	snprintf (buf, sizeof (buf), "<small>\302\251 1998-2010 Peter \305\275elezn\303\275\n\302\251 2009-2012 Berke Viktor</small>");
+	snprintf (buf, sizeof (buf), "<small>\302\251 1998-2010 Peter \305\275elezn\303\275\n\302\251 2009-2013 Berke Viktor</small>");
 	label_copyright = gtk_label_new (NULL);
 	gtk_misc_set_alignment (GTK_MISC (label_copyright), 0, 0);
 	gtk_box_pack_start (GTK_BOX (vbox_text), label_copyright, 0, 0, 10);
diff --git a/src/fe-gtk/maingui.c b/src/fe-gtk/maingui.c
index 2796b381..41344c8f 100644
--- a/src/fe-gtk/maingui.c
+++ b/src/fe-gtk/maingui.c
@@ -2856,7 +2856,7 @@ mg_create_entry (session *sess, GtkWidget *box)
 													 GTK_SHADOW_IN);
 	gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
 												GTK_POLICY_NEVER,
-												GTK_POLICY_NEVER);
+												GTK_POLICY_AUTOMATIC);
 	gtk_container_add (GTK_CONTAINER (sw), entry);
 	gtk_container_add (GTK_CONTAINER (hbox), sw);
 #else
diff --git a/src/fe-gtk/plugin-tray.c b/src/fe-gtk/plugin-tray.c
index 3c9bed38..694e4c35 100644
--- a/src/fe-gtk/plugin-tray.c
+++ b/src/fe-gtk/plugin-tray.c
@@ -173,7 +173,11 @@ fe_tray_set_balloon (const char *title, const char *text)
 	notify_text = strip_color (text, -1, STRIP_ALL|STRIP_ESCMARKUP);
 	notify_title = strip_color (title, -1, STRIP_ALL);
 
-	notification = XC_NOTIFY_NEW (notify_title, notify_text, HEXCHATSHAREDIR "/pixmaps/hexchat.png", NULL);
+	notification = XC_NOTIFY_NEW (notify_title, notify_text, HEXCHATSHAREDIR "/icons/hicolor/scalable/apps/hexchat.svg", NULL);
+
+#if NOTIFY_CHECK_VERSION(0,7,0)
+	notify_notification_set_hint (notification, "desktop-entry", g_variant_new_string ("hexchat"));
+#endif
 
 	g_free ((char *)notify_title);
 	g_free ((char *)notify_text);
diff --git a/src/fe-gtk/setup.c b/src/fe-gtk/setup.c
index e46c5031..f02bc3d7 100644
--- a/src/fe-gtk/setup.c
+++ b/src/fe-gtk/setup.c
@@ -216,6 +216,7 @@ static const setting inputbox_settings[] =
 	{ST_TOGGLE, N_("Show user mode icon in nick box"), P_OFFINTNL(hex_gui_input_icon),0,0,0},
 #if defined(USE_GTKSPELL) || defined(USE_LIBSEXY)
 	{ST_TOGGLE, N_("Spell checking"), P_OFFINTNL(hex_gui_input_spell),0,0,2},
+#ifdef HAVE_ISO_CODES /* Defined with static spelling */
 	{ST_ENTRY,	N_("Dictionaries to use:"), P_OFFSETNL(hex_text_spell_langs),0,0,sizeof prefs.hex_text_spell_langs},
 #ifdef WIN32
 	{ST_LABEL,	N_("Use language codes (as in \"share\\myspell\\dicts\").\nSeparate multiple entries with commas.")},
@@ -223,6 +224,7 @@ static const setting inputbox_settings[] =
 	{ST_LABEL,	N_("Use language codes. Separate multiple entries with commas.")},
 #endif
 #endif
+#endif
 
 	{ST_HEADER, N_("Nick Completion"),0,0,0},
 	{ST_TOGGLE, N_("Automatic nick completion (without TAB key)"), P_OFFINTNL(hex_completion_auto),
@@ -1514,7 +1516,7 @@ setup_create_color_page (void)
 	setup_create_other_color (_("New message:"), COL_NEW_MSG, 10, tab);
 	setup_create_other_colorR (_("Away user:"), COL_AWAY, 10, tab);
 	setup_create_other_color (_("Highlight:"), COL_HILIGHT, 11, tab);
-#if defined(USE_GTKSPELL) || defined(USE_LIBSEXY)
+#ifdef HAVE_ISO_CODES /* Defined with static spelling */
 	setup_create_other_colorR (_("Spell checker:"), COL_SPELL, 11, tab);
 #endif
 
diff --git a/win32/deps-graph.txt b/win32/deps-graph.txt
deleted file mode 100644
index a8326536..00000000
--- a/win32/deps-graph.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-// http://yuml.me/diagram/scruffy/class/draw

-[zlib]->[OpenSSL]

-[zlib]->[libpng]

-[zlib]->[libffi]

-[Pixman]

-[libxml2]->[Fontconfig]

-[FreeType]->[Fontconfig]

-[win-iconv]->[gettext-runtime]

-[win-iconv]->[libxml2]

-[gettext-runtime]->[GLib]

-[libffi]->[GLib]

-[GLib]->[Enchant]

-[GLib]->[ATK]

-[libpng]->[GDK-PixBuf]

-[GLib]->[GDK-PixBuf]

-[GLib]->[Cairo]

-[libpng]->[Pixman]

-[Pixman]->[Cairo]

-[Fontconfig]->[Cairo]

-[Cairo]->[Pango]

-[HarfBuzz]->[Pango]

-[Pango]->[GTK+]

-[ATK]->[GTK+]

-[GDK-PixBuf]->[GTK+]

-[GTK+]->[HexChat]

-[OpenSSL]->[HexChat]

-[Enchant]->[HexChat]

diff --git a/win32/hexchat.props b/win32/hexchat.props
index bda8d926..61a664e8 100644
--- a/win32/hexchat.props
+++ b/win32/hexchat.props
@@ -64,6 +64,7 @@ copy "$(DepsRoot)\bin\gmodule-2.0.dll" "$(HexChatRel)"
 copy "$(DepsRoot)\bin\gobject-2.0.dll" "$(HexChatRel)

 copy "$(DepsRoot)\bin\gthread-2.0.dll" "$(HexChatRel)"

 copy "$(DepsRoot)\bin\gtk-win32-2.0.dll" "$(HexChatRel)"

+copy "$(DepsRoot)\bin\harfbuzz.dll" "$(HexChatRel)"

 copy "$(DepsRoot)\bin\iconv.dll" "$(HexChatRel)"

 copy "$(DepsRoot)\bin\libeay32.dll" "$(HexChatRel)"

 copy "$(DepsRoot)\bin\libenchant.dll" "$(HexChatRel)"

@@ -78,7 +79,7 @@ copy "$(DepsRoot)\bin\pangowin32-1.0.dll" "$(HexChatRel)"
 copy "$(DepsRoot)\bin\pixman-1.dll" "$(HexChatRel)"

 copy "$(DepsRoot)\bin\ssleay32.dll" "$(HexChatRel)"

 copy "$(DepsRoot)\bin\zlib1.dll" "$(HexChatRel)"

-xcopy /q /s /i "$(DepsRoot)\lib\gtk-2.0\2.10.0\engines" "$(HexChatRel)\lib\gtk-2.0\2.10.0\engines"

+xcopy /q /s /i "$(DepsRoot)\lib\gtk-2.0\i686-pc-vs10\engines" "$(HexChatRel)\lib\gtk-2.0\i686-pc-vs10\engines"

 xcopy /q /s /i etc "$(HexChatRel)\etc"

 xcopy /q /s /i share "$(HexChatRel)\share"

 xcopy /q /s /i "..\..\share\doc\COPYING" "$(HexChatRel)\share\doc\hexchat\"

diff --git a/win32/hexchat.sln b/win32/hexchat.sln
index 664ba6a1..52dde085 100644
--- a/win32/hexchat.sln
+++ b/win32/hexchat.sln
@@ -82,8 +82,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "copy", "copy\copy.vcxproj",
 		{B10A2C41-344C-43E0-A32D-B9587C198D8B} = {B10A2C41-344C-43E0-A32D-B9587C198D8B}

 		{461DC24A-A410-4171-8C02-CCDBF3702C2A} = {461DC24A-A410-4171-8C02-CCDBF3702C2A}

 		{E93E1255-95D1-4B08-8FDF-B53CC6A21280} = {E93E1255-95D1-4B08-8FDF-B53CC6A21280}

-		{C4C9FA6F-F990-4C7B-85F6-CD8F4F5728F0} = {C4C9FA6F-F990-4C7B-85F6-CD8F4F5728F0}

-		{987E9374-98A1-44BA-946F-D3472D7A7055} = {987E9374-98A1-44BA-946F-D3472D7A7055}

 		{5EF7F47D-D09C-43C4-BF64-B28B11A0FF91} = {5EF7F47D-D09C-43C4-BF64-B28B11A0FF91}

 		{6C0CA980-97C5-427A-BE61-5BCECAFABBDA} = {6C0CA980-97C5-427A-BE61-5BCECAFABBDA}

 		{3786FA8C-3E76-45E3-984E-FCCFF44729C9} = {3786FA8C-3E76-45E3-984E-FCCFF44729C9}

diff --git a/win32/installer/hexchat-x64.skel.iss b/win32/installer/hexchat-x64.skel.iss
index 6066ba7a..333bc0a6 100644
--- a/win32/installer/hexchat-x64.skel.iss
+++ b/win32/installer/hexchat-x64.skel.iss
@@ -77,7 +77,8 @@ Root: HKCR; Subkey: ".hct\shell\open\command"; ValueType: string; ValueName: "";
 
 [Run]
 Filename: "{app}\hexchat.exe"; Description: "Run HexChat after closing the Wizard"; Flags: nowait postinstall skipifsilent
-Filename: "http://hexchat.org/news.html"; Description: "See what's changed online"; Flags: shellexec runasoriginaluser postinstall skipifsilent
+Filename: "http://hexchat.org/news.html"; Description: "See what's changed"; Flags: shellexec runasoriginaluser postinstall skipifsilent unchecked
+Filename: "http://www.microsoft.com/en-us/download/details.aspx?id=13523"; Description: "Download Visual C++ Redistributable Package"; Flags: shellexec runasoriginaluser postinstall skipifsilent unchecked
 
 [Files]
 ; Add the ISSkin DLL used for skinning Inno Setup installations.
@@ -109,6 +110,7 @@ Source: "gmodule-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: l
 Source: "gobject-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
 Source: "gthread-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
 Source: "gtk-win32-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "harfbuzz.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
 Source: "iconv.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
 Source: "libeay32.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
 Source: "libenchant.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
@@ -126,7 +128,7 @@ Source: "zlib1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
 
 Source: "lib\enchant\libenchant_myspell.dll"; DestDir: "{app}\lib\enchant"; Flags: ignoreversion; Components: libs
 
-Source: "lib\gtk-2.0\2.10.0\engines\libwimp.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: libs
+Source: "lib\gtk-2.0\i686-pc-vs10\engines\libwimp.dll"; DestDir: "{app}\lib\gtk-2.0\i686-pc-vs10\engines"; Flags: ignoreversion; Components: libs
 
 ;obs Source: "etc\gtkpref.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: gtkengines
 ;obs Source: "lib\gtk-2.0\2.10.0\engines\libclearlooks.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
diff --git a/win32/installer/hexchat-x86.skel.iss b/win32/installer/hexchat-x86.skel.iss
index 24abc79c..f482bdeb 100644
--- a/win32/installer/hexchat-x86.skel.iss
+++ b/win32/installer/hexchat-x86.skel.iss
@@ -76,7 +76,8 @@ Root: HKCR; Subkey: ".hct\shell\open\command"; ValueType: string; ValueName: "";
 
 [Run]
 Filename: "{app}\hexchat.exe"; Description: "Run HexChat after closing the Wizard"; Flags: nowait postinstall skipifsilent
-Filename: "http://hexchat.org/news.html"; Description: "See what's changed online"; Flags: shellexec runasoriginaluser postinstall skipifsilent
+Filename: "http://hexchat.org/news.html"; Description: "See what's changed"; Flags: shellexec runasoriginaluser postinstall skipifsilent unchecked
+Filename: "http://www.microsoft.com/en-us/download/details.aspx?id=8328"; Description: "Download Visual C++ Redistributable Package"; Flags: shellexec runasoriginaluser postinstall skipifsilent unchecked
 
 [Files]
 ; Add the ISSkin DLL used for skinning Inno Setup installations.
@@ -108,6 +109,7 @@ Source: "gmodule-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: l
 Source: "gobject-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
 Source: "gthread-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
 Source: "gtk-win32-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "harfbuzz.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
 Source: "iconv.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
 Source: "libeay32.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
 Source: "libenchant.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
@@ -125,7 +127,7 @@ Source: "zlib1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
 
 Source: "lib\enchant\libenchant_myspell.dll"; DestDir: "{app}\lib\enchant"; Flags: ignoreversion; Components: libs
 
-Source: "lib\gtk-2.0\2.10.0\engines\libwimp.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: libs
+Source: "lib\gtk-2.0\i686-pc-vs10\engines\libwimp.dll"; DestDir: "{app}\lib\gtk-2.0\i686-pc-vs10\engines"; Flags: ignoreversion; Components: libs
 
 ;obs Source: "etc\gtkpref.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: gtkengines
 ;obs Source: "lib\gtk-2.0\2.10.0\engines\libclearlooks.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines