summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.net>2014-04-10 14:32:25 +0200
committerRené 'Necoro' Neumann <necoro@necoro.net>2014-04-10 14:33:00 +0200
commita68c5f88f71682d37924bf2794a163b0b8137e08 (patch)
tree3180ecbb099fbdc27b3f8cfdedcccbb08137550e
parent527c8a44ac792be5a80e704a5616775bb1bf1f99 (diff)
downloadpatches-a68c5f88f71682d37924bf2794a163b0b8137e08.tar.gz
patches-a68c5f88f71682d37924bf2794a163b0b8137e08.tar.bz2
patches-a68c5f88f71682d37924bf2794a163b0b8137e08.zip
More dunst patches
-rw-r--r--x11-misc/dunst-1.0.0/fix_memory_leak_1.patch25
-rw-r--r--x11-misc/dunst-1.0.0/fix_memory_leak_2.patch25
-rw-r--r--x11-misc/dunst-1.0.0/net-wm-window-type_followup.patch81
3 files changed, 131 insertions, 0 deletions
diff --git a/x11-misc/dunst-1.0.0/fix_memory_leak_1.patch b/x11-misc/dunst-1.0.0/fix_memory_leak_1.patch
new file mode 100644
index 0000000..fad57b9
--- /dev/null
+++ b/x11-misc/dunst-1.0.0/fix_memory_leak_1.patch
@@ -0,0 +1,25 @@
+From 95c67908c1539e26b8d95a9a17d420a6611163a3 Mon Sep 17 00:00:00 2001
+From: Steven Allen <steven@stebalien.com>
+Date: Mon, 12 Aug 2013 18:37:54 -0700
+Subject: [PATCH] Fix memory leak in URL scanning code
+
+---
+ menu.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/menu.c b/menu.c
+index cd3f85a..12e1ae2 100644
+--- a/menu.c
++++ b/menu.c
+@@ -60,6 +60,8 @@ char *extract_urls(const char *to_match)
+
+ urls = string_append(urls, match, "\n");
+
++ free(match);
++
+ p += m.rm_eo;
+ }
+ return urls;
+--
+1.9.1
+
diff --git a/x11-misc/dunst-1.0.0/fix_memory_leak_2.patch b/x11-misc/dunst-1.0.0/fix_memory_leak_2.patch
new file mode 100644
index 0000000..3b7983c
--- /dev/null
+++ b/x11-misc/dunst-1.0.0/fix_memory_leak_2.patch
@@ -0,0 +1,25 @@
+From 9e03b5258fb2e8afe95f3bf32e911dbedb63e765 Mon Sep 17 00:00:00 2001
+From: Giuliano Schneider <gs93@gmx.net>
+Date: Wed, 5 Mar 2014 13:31:01 +0100
+Subject: [PATCH] fix memory leak in string_to_argv
+
+---
+ utils.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/utils.c b/utils.c
+index d0bbe75..1f0cce2 100644
+--- a/utils.c
++++ b/utils.c
+@@ -83,6 +83,8 @@ char **string_to_argv(const char *s)
+ argv = realloc (argv, sizeof (char*) * (n_spaces+1));
+ argv[n_spaces] = NULL;
+
++ free(str);
++
+ return argv;
+ }
+
+--
+1.9.1
+
diff --git a/x11-misc/dunst-1.0.0/net-wm-window-type_followup.patch b/x11-misc/dunst-1.0.0/net-wm-window-type_followup.patch
new file mode 100644
index 0000000..b01eb01
--- /dev/null
+++ b/x11-misc/dunst-1.0.0/net-wm-window-type_followup.patch
@@ -0,0 +1,81 @@
+From 0466d41c507352766d86f4e2e9292b68162dc6eb Mon Sep 17 00:00:00 2001
+From: Yuri D'Elia <yuri.delia@eurac.edu>
+Date: Thu, 6 Mar 2014 16:47:06 +0100
+Subject: [PATCH] Set _NET_WM_STATE_ABOVE and fix window type.
+
+- Fix indentation.
+- Fix wrong paramenters in call to XChangeProperty
+- Do not try to raise the window, set _NET_WM_STATE_ABOVE instead
+---
+ x.c | 36 +++++++++++++++++++-----------------
+ 1 file changed, 19 insertions(+), 17 deletions(-)
+
+diff --git a/x.c b/x.c
+index a4e877f..f552f1b 100644
+--- a/x.c
++++ b/x.c
+@@ -581,10 +581,6 @@ gboolean x_mainloop_fd_dispatch(GSource * source, GSourceFunc callback,
+ case SelectionNotify:
+ if (ev.xselection.property == xctx.utf8)
+ break;
+- case VisibilityNotify:
+- if (ev.xvisibility.state != VisibilityUnobscured)
+- XRaiseWindow(xctx.dpy, xctx.win);
+- break;
+ case ButtonPress:
+ if (ev.xbutton.window == xctx.win) {
+ x_handle_click(ev);
+@@ -854,23 +850,29 @@ void x_setup(void)
+ }
+
+
+-static void x_set_win_type(Window win)
++static void x_set_wm(Window win)
+ {
+
+- long data[2];
++ Atom data[2];
++
++ /* set window type */
++ Atom net_wm_window_type =
++ XInternAtom(xctx.dpy, "_NET_WM_WINDOW_TYPE", false);
++
++ data[0] = XInternAtom(xctx.dpy, "_NET_WM_WINDOW_TYPE_NOTIFICATION", false);
++ data[1] = XInternAtom(xctx.dpy, "_NET_WM_WINDOW_TYPE_UTILITY", false);
++
++ XChangeProperty(xctx.dpy, win, net_wm_window_type, XA_ATOM, 32,
++ PropModeReplace, (unsigned char *) data, 2L);
+
+- Atom net_wm_window_type =
+- XInternAtom(xctx.dpy, "_NET_WM_WINDOW_TYPE", false);
+- Atom net_wm_window_type_notification =
+- XInternAtom(xctx.dpy, "_NET_WM_WINDOW_TYPE_NOTIFICATION", false);
+- Atom net_wm_window_type_utility =
+- XInternAtom(xctx.dpy, "_NET_WM_WINDOW_TYPE_UTILITY", false);
++ /* set state above */
++ Atom net_wm_state =
++ XInternAtom(xctx.dpy, "_NET_WM_STATE", false);
+
+- data[0] = net_wm_window_type_notification;
+- data[1] = net_wm_window_type_utility;
++ data[0] = XInternAtom(xctx.dpy, "_NET_WM_STATE_ABOVE", false);
+
+- XChangeProperty(xctx.dpy, win, net_wm_window_type, XA_ATOM, 32,
+- PropModeReplace, (unsigned char *) &data, 1L);
++ XChangeProperty(xctx.dpy, win, net_wm_state, XA_ATOM, 32,
++ PropModeReplace, (unsigned char *) data, 1L);
+ }
+
+ /*
+@@ -906,7 +908,7 @@ static void x_win_setup(void)
+ DefaultScreen(xctx.dpy)),
+ CWOverrideRedirect | CWBackPixmap | CWEventMask, &wa);
+
+- x_set_win_type(xctx.win);
++ x_set_wm(xctx.win);
+ settings.transparency =
+ settings.transparency > 100 ? 100 : settings.transparency;
+ setopacity(xctx.win,
+--
+1.9.1
+