aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorYuuki Harano2021-03-11 21:13:23 +0900
committerYuuki Harano2021-03-11 21:13:23 +0900
commit56297c0f426314dde66614a5c4e459c285af939a (patch)
treef2675606b47da8681154f2b3eeddda8df2aa25bf /src
parent4dda6db3abf4a67455a007d28e14d62a9909f665 (diff)
downloademacs-56297c0f426314dde66614a5c4e459c285af939a.tar.gz
emacs-56297c0f426314dde66614a5c4e459c285af939a.zip
Fix some leaks
* src/pgtkterm.c (x_free_frame_resources): Free cursors. (pgtk_delete_terminal): Free cursors and events.
Diffstat (limited to 'src')
-rw-r--r--src/pgtkterm.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/pgtkterm.c b/src/pgtkterm.c
index b965879a1c6..10a3999f70d 100644
--- a/src/pgtkterm.c
+++ b/src/pgtkterm.c
@@ -231,6 +231,23 @@ x_free_frame_resources (struct frame *f)
231 if (f == hlinfo->mouse_face_mouse_frame) 231 if (f == hlinfo->mouse_face_mouse_frame)
232 reset_mouse_highlight (hlinfo); 232 reset_mouse_highlight (hlinfo);
233 233
234 g_clear_object (&FRAME_X_OUTPUT (f)->text_cursor);
235 g_clear_object (&FRAME_X_OUTPUT (f)->nontext_cursor);
236 g_clear_object (&FRAME_X_OUTPUT (f)->modeline_cursor);
237 g_clear_object (&FRAME_X_OUTPUT (f)->hand_cursor);
238 g_clear_object (&FRAME_X_OUTPUT (f)->hourglass_cursor);
239 g_clear_object (&FRAME_X_OUTPUT (f)->horizontal_drag_cursor);
240 g_clear_object (&FRAME_X_OUTPUT (f)->vertical_drag_cursor);
241 g_clear_object (&FRAME_X_OUTPUT (f)->left_edge_cursor);
242 g_clear_object (&FRAME_X_OUTPUT (f)->right_edge_cursor);
243 g_clear_object (&FRAME_X_OUTPUT (f)->top_edge_cursor);
244 g_clear_object (&FRAME_X_OUTPUT (f)->bottom_edge_cursor);
245 g_clear_object (&FRAME_X_OUTPUT (f)->top_left_corner_cursor);
246 g_clear_object (&FRAME_X_OUTPUT (f)->top_right_corner_cursor);
247 g_clear_object (&FRAME_X_OUTPUT (f)->bottom_right_corner_cursor);
248 g_clear_object (&FRAME_X_OUTPUT (f)->bottom_left_corner_cursor);
249
250
234 if (FRAME_X_OUTPUT (f)->border_color_css_provider != NULL) 251 if (FRAME_X_OUTPUT (f)->border_color_css_provider != NULL)
235 { 252 {
236 GtkStyleContext *ctxt = gtk_widget_get_style_context (FRAME_WIDGET (f)); 253 GtkStyleContext *ctxt = gtk_widget_get_style_context (FRAME_WIDGET (f));
@@ -4687,6 +4704,15 @@ pgtk_delete_terminal (struct terminal *terminal)
4687 { 4704 {
4688 image_destroy_all_bitmaps (dpyinfo); 4705 image_destroy_all_bitmaps (dpyinfo);
4689 4706
4707 g_clear_object (&dpyinfo->xg_cursor);
4708 g_clear_object (&dpyinfo->vertical_scroll_bar_cursor);
4709 g_clear_object (&dpyinfo->horizontal_scroll_bar_cursor);
4710 g_clear_object (&dpyinfo->invisible_cursor);
4711 if (dpyinfo->last_click_event != NULL) {
4712 gdk_event_free (dpyinfo->last_click_event);
4713 dpyinfo->last_click_event = NULL;
4714 }
4715
4690 xg_display_close (dpyinfo->gdpy); 4716 xg_display_close (dpyinfo->gdpy);
4691 4717
4692 /* Do not close the connection here because it's already closed 4718 /* Do not close the connection here because it's already closed