Menu

#794 last commit unnable to compile if gtk2 over gtk3, missing conditional

None
closed
dgod.osa
lxdm (80)
9
2016-02-20
2016-01-09
No

lasted commit as "workaround greeter-gdk can't show background image at gtk3" added a missing function not provided by gtk2, so lxdm seems not able to compile with gtk2:

error: implicit declaration of function 'gdk_window_get_backgroud_pattern'

here i paste a easy patch that solves and able to build agains gtk 2.18 to 2.26 and not only 2.26+

--- lxdm-0.5.3.orig/src/greeter-gdk.c
+++ lxdm-0.5.3/src/greeter-gdk.c
@@ -77,7 +77,11 @@ static void draw_text(cairo_t *cr, doubl

 static void on_ui_expose(void)
 {
+#ifndef ENABLE_GTK3
+   cairo_t *cr = gdk_cairo_create(win);
+#else
    cairo_t *cr;
+#endif
    char *p = (stage == 0) ? user : pass;
    int len = strlen(p);
    GdkColor *color=&text;
@@ -87,6 +91,9 @@ static void on_ui_expose(void)
        return;
    }

+#ifndef ENABLE_GTK3
+// gdk_window_clear(win); // commented due i think its innecesary clean the root window to paint in gtk2
+#else
    cr=gdk_cairo_create(win);
    cairo_pattern_t *pattern=gdk_window_get_background_pattern(win);
    if(pattern)
@@ -94,6 +101,7 @@ static void on_ui_expose(void)
        cairo_set_source(cr,pattern);
        cairo_paint(cr);
    }
+#endif

    gdk_cairo_set_source_color(cr, &bg);
    cairo_rectangle(cr, rc.x, rc.y, rc.width, rc.height);

this was at commit 96c4253d49611d5525d7a5b640571582eab7cfda in git lxdm as can see:

Discussion

  • PICCORO Lenz McKAY

    hint: the sf tracker are a paint for mobiles, the bug report are made with wrom labels

    i must paste the pach due upload files are not possible easyle in tablets

    this bug its for lxdm, and the patch are easy to commit.. please fix it! so will able to compile for others in gtk2 lower than 2.26+

     
  • Lonely Stranger

    Lonely Stranger - 2016-02-20
    • labels: gtk3, gtk2, conditional, build problem, error --> lxdm
    • assigned_to: dgod.osa
    • Group: -->
     
  • dgod.osa

    dgod.osa - 2016-02-20
    • status: open --> closed
     
  • dgod.osa

    dgod.osa - 2016-02-20

    fixed in git now

     

Log in to post a comment.