#794427 lightdm-gtk-greeter: Greeter panel clock fails with long date formats in russian locale

Package:
lightdm-gtk-greeter
Source:
lightdm-gtk-greeter
Description:
simple display manager (GTK+ greeter)
Submitter:
vtvitus
Date:
2015-08-02 22:09:06 UTC
Severity:
normal
#794427#5
Date:
2015-08-02 22:05:02 UTC
From:
To:
Dear Maintainer,

*** Reporter, please consider answering these questions, where appropriate ***

   * What led up to the situation?
   * What exactly did you do (or not do) that was effective (or
     ineffective)?
   * What was the outcome of this action?
   * What outcome did you expect instead?

*** End of the template - remove these template lines ***

Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: vitus <vitus@gorodok.net>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: lightdm-gtk-greeter: Greeter panel clock fails with long date formats in
 russian locale
Message-ID: <20150802215532.372.48522.reportbug@s1.Dlink>
X-Mailer: reportbug 6.6.3
Date: Mon, 03 Aug 2015 00:55:32 +0300
X-Debbugs-Cc: vitus@gorodok.net

Package: lightdm-gtk-greeter
Version: 1.8.5-2
Severity: normal

Dear Maintainer,

Some days ago I had set clock-format=%A, %d %b, %Y%n%t  %H:%M:%S
in /etc/lightdm/lightdm-gtk-greeter.conf to get a nicely formatted
date included in the greeter panel's clock display.

On Sunday, I got some problems with login to the system.
empty screen, no login panel, after ctrl-alt-f7 some seconds black screen with message "Session is blocked".
some seconds after login panel show.

result "%A, %d %b, %Y%n%t  %H:%M:%S" for 02/07/2015 in russian locale has size 51.

lightdm-gtk-greeter-1.8.5$ vi ./src/lightdm-gtk-greeter.c
static gboolean
clock_timeout_thread (void)
{
    time_t rawtime;
    struct tm * timeinfo;
    gchar time_str[50];
    gchar *markup;

    time ( &rawtime );
    timeinfo = localtime ( &rawtime );

    strftime(time_str, 50, clock_format, timeinfo);
    markup = g_markup_printf_escaped("<b>%s</b>", time_str);
    if (g_strcmp0(markup, gtk_label_get_label(GTK_LABEL(clock_label))) != 0)
        gtk_label_set_markup( GTK_LABEL(clock_label), markup );
    g_free(markup);

    return TRUE;
}

mb similar ploblem https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=721510

I change format, but problem "It worked yesterday, but today no login" not good.
vv