]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
* grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Fri, 3 May 2013 12:02:49 +0000 (14:02 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Fri, 3 May 2013 12:02:49 +0000 (14:02 +0200)
grub_gfxmenu_timeout_notifications.
(grub_gfxmenu_view_destroy): Likewise.

ChangeLog
grub-core/gfxmenu/view.c

index 9e99eb5406a9110c8171b1b50dcbd3f6f2446905..858f0b0879bc8a222d11c4eacbc3045aa864f4c2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2013-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
+       grub_gfxmenu_timeout_notifications.
+       (grub_gfxmenu_view_destroy): Likewise.
+
 2013-05-03  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
index 475fc76c5e3e8e617b84037c87de3d42abbecc88..bcf6399e23d67044d6a9a8fde5e5b213ec0fc0d6 100644 (file)
@@ -58,6 +58,14 @@ grub_gfxmenu_view_new (const char *theme_path,
   if (! view)
     return 0;
 
+  while (grub_gfxmenu_timeout_notifications)
+    {
+      struct grub_gfxmenu_timeout_notify *p;
+      p = grub_gfxmenu_timeout_notifications;
+      grub_gfxmenu_timeout_notifications = grub_gfxmenu_timeout_notifications->next;
+      grub_free (p);
+    }
+
   view->screen.x = 0;
   view->screen.y = 0;
   view->screen.width = width;
@@ -105,6 +113,13 @@ grub_gfxmenu_view_destroy (grub_gfxmenu_view_t view)
 {
   if (!view)
     return;
+  while (grub_gfxmenu_timeout_notifications)
+    {
+      struct grub_gfxmenu_timeout_notify *p;
+      p = grub_gfxmenu_timeout_notifications;
+      grub_gfxmenu_timeout_notifications = grub_gfxmenu_timeout_notifications->next;
+      grub_free (p);
+    }
   grub_video_bitmap_destroy (view->desktop_image);
   if (view->terminal_box)
     view->terminal_box->destroy (view->terminal_box);