Bug#828000: emacs24: Missing toolbar icons

2016-07-29 Thread Esa Peuha
I can confirm that the proposed patch fixes the toolbar with LXDE.



Bug#828000: emacs24: Missing toolbar icons

2016-06-23 Thread Juerg Haefliger
Package: emacs24
Version: 24.5+1-6+b2
Severity: important

Emacs24 from testing is not displaying icons in the toolbar.

Steps to reproduce:
  1) Install Debian testing with XFCE
  2) Install emacs24
  3) Run emacs24

ArchLinux seems to have suffered from the same problem:
https://bugs.archlinux.org/task/48862

According to the discussion in that bugreport, the following upstream commit
fixes the issue:
https://github.com/emacs-
mirror/emacs/commit/3f4c6d52d34538bc2d4a53246af4c61ef176

Attached is a back-ported patch for emacs24_24.5+1-6+b2 which fixes the issue
for me.



-- System Information:
Debian Release: stretch/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 4.6.0-1-amd64 (SMP w/1 CPU core)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages emacs24 depends on:
ii  emacs24-bin-common 24.5+1-6+b2
ii  gconf-service  3.2.6-3
ii  libacl12.2.52-3
ii  libasound2 1.1.1-1
ii  libatk1.0-02.20.0-1
ii  libc6  2.22-11
ii  libcairo-gobject2  1.14.6-1+b1
ii  libcairo2  1.14.6-1+b1
ii  libdbus-1-31.10.8-1
ii  libfontconfig1 2.11.0-6.4
ii  libfreetype6   2.6.3-3+b1
ii  libgconf-2-4   3.2.6-3
ii  libgdk-pixbuf2.0-0 2.34.0-1
ii  libgif75.1.4-0.3
ii  libglib2.0-0   2.48.1-1
ii  libgnutls303.4.13-1
ii  libgomp1   6.1.1-4
ii  libgpm21.20.4-6.2
ii  libgtk-3-0 3.20.6-1
ii  libice62:1.0.9-1+b1
ii  libjpeg62-turbo1:1.5.0-1
ii  libm17n-0  1.7.0-3+b1
ii  libmagickcore-6.q16-2  8:6.8.9.9-7.1
ii  libmagickwand-6.q16-2  8:6.8.9.9-7.1
ii  libotf00.9.13-3
ii  libpango-1.0-0 1.40.1-1
ii  libpangocairo-1.0-01.40.1-1
ii  libpng16-161.6.23-1
ii  librsvg2-2 2.40.16-1
ii  libselinux12.5-3
ii  libsm6 2:1.2.2-1+b1
ii  libtiff5   4.0.6-1
ii  libtinfo5  6.0+20160319-1
ii  libx11-6   2:1.6.3-1
ii  libxft22.3.2-1
ii  libxinerama1   2:1.1.3-1+b1
ii  libxml22.9.3+dfsg1-1.2
ii  libxpm41:3.5.11-1+b1
ii  libxrandr2 2:1.5.0-1
ii  libxrender11:0.9.9-2
ii  zlib1g 1:1.2.8.dfsg-2+b1

emacs24 recommends no packages.

Versions of packages emacs24 suggests:
pn  emacs24-common-non-dfsg  
diff --git a/debian/patches/0020-Handle-deprecated-Gtk-stuff-for-version-3.10.patch b/debian/patches/0020-Handle-deprecated-Gtk-stuff-for-version-3.10.patch
new file mode 100644
index 000..c788c43
--- /dev/null
+++ b/debian/patches/0020-Handle-deprecated-Gtk-stuff-for-version-3.10.patch
@@ -0,0 +1,855 @@
+From d873bce57ba4f7471a92e2577a5a133ce6171122 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jan=20Dj=C3=A4rv?= 
+Date: Sat, 18 Oct 2014 18:19:53 +0200
+Subject: [PATCH] Handle deprecated Gtk+ stuff for version <= 3.10
+
+* lisp/term/x-win.el (x-gtk-stock-map): Add icon names suggested as
+replacements to stock names before stock names in a list.
+Cdr may be a list, each name is tried in turn until one is found.
+
+* src/gtkutil.c (XG_TEXT_CANCEL, XG_TEXT_OPEN, XG_TEXT_OK): New defines
+to handle Gtk versions.
+(xg_get_file_with_chooser): Use them.
+(xg_have_tear_offs, tearoff_remove, tearoff_activate): Remove
+(create_menus): Remove teroff argument and code.
+Remove call to gtk_menu_set_title.
+(xg_update_menubar, xg_update_submenu): Remove tearoff code.  Adjust
+args to create_menus.
+(xg_tool_bar_menu_proxy, xg_tool_bar_detach_callback)
+(xg_tool_bar_attach_callback, TOOLBAR_TOP_WIDGET): Remove.
+(xg_pack_tool_bar): Replace TOOLBAR_TOP_WIDGET, remove detach code.
+(xg_make_tool_item): Remove detach code.
+(xg_update_tool_bar_sizes): Replace TOOLBAR_TOP_WIDGET.
+(find_icon_from_name): New function.
+(update_frame_tool_bar): Remove GtkStockItem code, move to
+find_icon_from_name.  Let stock be a list of icon names to try.
+Only use gtk_image_new_from_stock on Gtk+ < 3.10.
+Replace TOOLBAR_TOP_WIDGET.
+(free_frame_tool_bar, xg_change_toolbar_position ): Replace
+TOOLBAR_TOP_WIDGET.
+(xg_initialize): Remove tearoff code.
+
+* src/gtkutil.h (xg_have_tear_offs): Remove declaration.
+
+* src/xmenu.c (set_frame_menubar): Remove GTK block that calls
+xg_have_tear_offs.
+
+* src/xterm.h (handlebox_widget): Remove.
+---
+ lisp/term/x-win.el |  63 
+ src/gtkutil.c  | 421 +++--
+ src/gtkutil.h  |   2 -
+ src/xmenu.c|   6 -
+ src/xterm.h|   4 -
+ 5 files changed, 118 insertions(+), 378 deletions(-)
+
+diff --git a/lisp/term/x-win.el b/lisp/term/x-win.el
+index ca0ae3b..7a41d32 100644
+--- a/lisp/term/x-win.el
 b/lisp/term/x-win.el
+@@ -1475,47 +1475,47 @@ This returns an error if any Emacs frames are