From: Alex <agrambot@gmail.com>
To: 35179@debbugs.gnu.org
Subject: bug#35179: [PATCH] Plug memory leak in GTK x-display-monitor-attributes-list
Date: Sat, 06 Apr 2019 23:16:53 -0600 [thread overview]
Message-ID: <87a7h2z96i.fsf@gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 132 bytes --]
Also declare `name' in MonitorInfo const to satisfy the compiler.
Is it too late to push a memory leak fix like this to emacs-26?
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: GTK memory leak --]
[-- Type: text/x-patch, Size: 1726 bytes --]
From b9c71187840f72f5145da5794e1ca69d4a074654 Mon Sep 17 00:00:00 2001
From: Alexander Gramiak <agrambot@gmail.com>
Date: Sat, 6 Apr 2019 23:02:24 -0600
Subject: [PATCH] Plug memory leak in GTK x-display-monitor-attributes-list
* src/xfns.c (x-display-monitor-attributes-list): Plug memory leak and
don't needlessly duplicate the model name.
* src/frame.h (MonitorInfo): Declare name as pointing to const char.
---
src/frame.h | 2 +-
src/xfns.c | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/frame.h b/src/frame.h
index ed62e7ace0..b1eedf36a3 100644
--- a/src/frame.h
+++ b/src/frame.h
@@ -1648,7 +1648,7 @@ flush_frame (struct frame *f)
struct MonitorInfo {
XRectangle geom, work;
int mm_width, mm_height;
- char *name;
+ const char *name;
};
extern void free_monitors (struct MonitorInfo *monitors, int n_monitors);
diff --git a/src/xfns.c b/src/xfns.c
index f238a3daa1..396e77c1db 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -5030,7 +5030,7 @@ Internal use only, use `display-monitor-attributes-list' instead. */)
mi->mm_height = height_mm;
#if GTK_CHECK_VERSION (3, 22, 0)
- mi->name = g_strdup (gdk_monitor_get_model (monitor));
+ mi->name = gdk_monitor_get_model (monitor);
#elif GTK_CHECK_VERSION (2, 14, 0)
mi->name = gdk_screen_get_monitor_plug_name (gscreen, i);
#endif
@@ -5041,6 +5041,7 @@ Internal use only, use `display-monitor-attributes-list' instead. */)
primary_monitor,
monitor_frames,
source);
+ xfree (monitors);
unblock_input ();
#else /* not USE_GTK */
--
2.21.0
next reply other threads:[~2019-04-07 5:16 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-07 5:16 Alex [this message]
2019-04-07 6:37 ` bug#35179: [PATCH] Plug memory leak in GTK x-display-monitor-attributes-list Eli Zaretskii
2019-04-07 14:51 ` Alex
2019-04-07 16:32 ` Eli Zaretskii
2019-04-07 17:34 ` Alex
2019-04-07 17:44 ` Alex
2019-04-07 18:21 ` Eli Zaretskii
2019-04-07 18:52 ` Alex
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87a7h2z96i.fsf@gmail.com \
--to=agrambot@gmail.com \
--cc=35179@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.