commit - aecd382fde51be4e9bb3c68de70bf800a38590f0
commit + 17a2e58047a50a92b60ba544673b4ecc365a9420
blob - 8dff25b7b1f26fbacab1d270d3da339313b4c2df
blob + a8ac4c300b6585e272616dd2216d13522ceaa0f7
--- src/common/defs.h
+++ src/common/defs.h
#define VSPACING_NARROW_2 2
#define VBOX_BORDER 8
#define DEFAULT_ENTRY_WIDTH 80
-/* labels bigger than this causes crash with the X Window System error:
- 'BadAlloc (insufficient resources for operation)' */
-#define MAX_MENU_LABEL_LENGTH 5453
#define DEFAULT_PIXMAP_THEME "INTERNAL_DEFAULT"
blob - 63db7fa1574c75519d4bf2d526203a364a0e8115
blob + 674c52b26190b88a800244bbc0d2e5ceb58c1f9f
--- src/gtk/menu.c
+++ src/gtk/menu.c
}
-GtkWidget *cm_menu_item_new_label_from_url(gchar *url)
-{
- gint len = strlen(url);
- if (len > MAX_MENU_LABEL_LENGTH) {
- g_message("Refusing a %d bytes string as menu label\n", len);
- url[64] = '\0', url[63] = url[62] = url[61] = '.', url[60] = ' ';
- GtkWidget *newlabel = gtk_menu_item_new_with_label(url);
- gtk_widget_set_tooltip_markup(GTK_WIDGET(newlabel),
- g_strconcat("<span><b>", _("Warning:"), "</b>",
- _("This URL was too long for displaying and\n"
- "has been truncated for safety. This message could be\n"
- "corrupted, malformed or part of some DoS attempt."),
- "</span>", NULL));
- return newlabel;
- }
-
- return gtk_menu_item_new_with_label(url);
-}
-
void cm_toggle_menu_set_active_full(GtkUIManager *gui_manager, gchar *menu, gboolean active)
{
GtkWidget *widget;
blob - 78c7fe44f14f8a7fe2a49cf8ac4fbff41d264f43
blob + bc53322fc1bd53782e6caf8d37dbde258fda5b82
--- src/gtk/menu.h
+++ src/gtk/menu.h
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
*/
#ifndef __MENU_H__
void cm_menu_set_sensitive_full(GtkUIManager *gui_manager, const gchar *menu, gboolean sensitive);
void cm_toggle_menu_set_active_full(GtkUIManager *gui_manager, gchar *menu, gboolean active);
gchar *cm_menu_item_get_shortcut(GtkUIManager *gui_manager, gchar *menu);
-GtkWidget *cm_menu_item_new_label_from_url(gchar *label);
void menu_set_sensitive_all(GtkMenuShell *menu_shell, gboolean sensitive);
blob - 5f56a0496b38d7a369d2d6f60104d27b9a68b995
blob + 2131f6d77fe733a7c11ecc4cc0c33fc2d008260b
--- src/mainwindow.c
+++ src/mainwindow.c
#include "socket.h"
#include "send_message.h"
+/*
+ * longer labels crash the X Window System with error:
+ * 'BadAlloc (insufficient resources for operation)'
+ */
+#define MAX_MENU_LABEL_LENGTH 5453
+
/* list of all instantiated MainWindow */
static GList *mainwin_list = NULL;
{
GtkWidget *item, *menu;
const gchar *url_pt ;
- gchar url_decoded[BUFFSIZE];
+ gchar url_decoded[MAX_MENU_LABEL_LENGTH];
GList *children, *amenu;
gint menu_nb = 0;
get_url_part (&url_pt, url_decoded);
item = NULL;
if (!g_ascii_strncasecmp(url_decoded, "mailto:", 7)) {
- item = cm_menu_item_new_label_from_url ((url_decoded));
+ item = gtk_menu_item_new_with_label(url_decoded);
g_signal_connect(G_OBJECT(item), "activate",
G_CALLBACK(mailing_list_compose),
NULL);
else if (!g_ascii_strncasecmp(url_decoded, "http:", 5) ||
!g_ascii_strncasecmp(url_decoded, "https:",6)) {
- item = cm_menu_item_new_label_from_url ((url_decoded));
+ item = gtk_menu_item_new_with_label(url_decoded);
g_signal_connect(G_OBJECT(item), "activate",
G_CALLBACK(mailing_list_open_uri),
NULL);