diff options
| author | Yuuki Harano | 2021-03-11 21:13:23 +0900 |
|---|---|---|
| committer | Yuuki Harano | 2021-03-11 21:13:23 +0900 |
| commit | 56297c0f426314dde66614a5c4e459c285af939a (patch) | |
| tree | f2675606b47da8681154f2b3eeddda8df2aa25bf /src | |
| parent | 4dda6db3abf4a67455a007d28e14d62a9909f665 (diff) | |
| download | emacs-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.c | 26 |
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 |