grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Indicate current video mode in videoinfo


From: Vladimir 'φ-coder/phcoder' Serbinenko
Subject: Re: [PATCH] Indicate current video mode in videoinfo
Date: Fri, 24 Jun 2011 03:37:42 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110606 Iceowl/1.0b2 Icedove/3.1.10

Go ahead
On 14.01.2011 21:35, Colin Watson wrote:
> This would make debugging video problems a bit easier.
>
> 2011-01-14  Colin Watson  <address@hidden>
>
>       * grub-core/commands/videoinfo.c (hook): Indicate current video
>       mode with `*'.
>       (grub_cmd_videoinfo): Fetch current video mode.
>
> === modified file 'grub-core/commands/videoinfo.c'
> --- grub-core/commands/videoinfo.c    2010-09-15 12:37:28 +0000
> +++ grub-core/commands/videoinfo.c    2011-01-14 20:34:26 +0000
> @@ -26,6 +26,7 @@
>  #include <grub/i18n.h>
>  
>  static unsigned height, width, depth; 
> +static struct grub_video_mode_info *current_mode;
>  
>  static int
>  hook (const struct grub_video_mode_info *info)
> @@ -39,7 +40,13 @@ hook (const struct grub_video_mode_info
>    if (info->mode_number == GRUB_VIDEO_MODE_NUMBER_INVALID)
>      grub_printf ("        ");
>    else
> -    grub_printf ("  0x%03x ", info->mode_number);
> +    {
> +      if (current_mode && info->mode_number == current_mode->mode_number)
> +     grub_printf ("*");
> +      else
> +     grub_printf (" ");
> +      grub_printf (" 0x%03x ", info->mode_number);
> +    }
>    grub_printf ("%4d x %4d x %2d  ", info->width, info->height, info->bpp);
>  
>    if (info->mode_type & GRUB_VIDEO_MODE_TYPE_PURE_TEXT)
> @@ -120,6 +127,8 @@ grub_cmd_videoinfo (grub_command_t cmd _
>  
>    FOR_VIDEO_ADAPTERS (adapter)
>    {
> +    struct grub_video_mode_info info;
> +
>      grub_printf ("Adapter '%s':\n", adapter->name);
>  
>      if (!adapter->iterate)
> @@ -128,7 +137,17 @@ grub_cmd_videoinfo (grub_command_t cmd _
>       continue;
>        }
>  
> -    if (adapter->id != id)
> +    current_mode = NULL;
> +
> +    if (adapter->id == id)
> +      {
> +     if (grub_video_get_info (&info) == GRUB_ERR_NONE)
> +       current_mode = &info;
> +     else
> +       /* Don't worry about errors.  */
> +       grub_errno = GRUB_ERR_NONE;
> +      }
> +    else
>        {
>       if (adapter->init ())
>         {
> @@ -143,6 +162,8 @@ grub_cmd_videoinfo (grub_command_t cmd _
>  
>      adapter->iterate (hook);
>  
> +    current_mode = NULL;
> +
>      if (adapter->id != id)
>        {
>       if (adapter->fini ())
>
> Thanks,
>


-- 
Regards
Vladimir 'φ-coder/phcoder' Serbinenko


Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]