emerald: 64bit-portability-issue 

E: emerald 64bit-portability-issue main.c:3044, 3242, 3291

3037 
3038     d->pixmap = d->active ? pixmap : ipixmap;
3039     d->buffer_pixmap = d->active ? buffer_pixmap : ibuffer_pixmap;
3040     d->p_active = pixmap;
3041     d->p_active_buffer = buffer_pixmap;
3042     d->p_inactive = ipixmap;
3043     d->p_inactive_buffer = ibuffer_pixmap;
3044     d->gc = gdk_gc_new(pixmap);
3045 

3239         if (!d->gc)
3240         {
3241             if (d->pixmap->parent_instance.ref_count) 
3242                 d->gc = gdk_gc_new(d->pixmap);
3243             else 
3244                 d->pixmap = NULL;
3245         }

3288 
3289     d->pixmap = pixmap;
3290     d->buffer_pixmap = buffer_pixmap;
3291     d->gc = gdk_gc_new(pixmap);
3292 

I have absolutely no idea what to do. I can build packages and create patches, but I have no knowledge in programming.

Does anybody know how to fix that?
The OBS package is at https://build.opensuse.org/package/show?package=emerald&project=home%3AlOtz1009%3Aemerald

Hi
Rewrite the code for using Cairo…


gdk_gc_new has been deprecated since version 2.22 and should not be
used in newly-written code. Use Cairo for rendering.

http://library.gnome.org/devel/gdk/stable/gdk-Graphics-Contexts.html


Cheers Malcolm °¿° (Linux Counter #276890)
SUSE Linux Enterprise Desktop 11 (x86_64) Kernel 2.6.32.24-0.2-default
up 5 days 13:37, 3 users, load average: 0.01, 0.07, 0.09
GPU GeForce 8600 GTS Silent - Driver Version: 260.19.29

Hmmm. I don’t know if I got this right, but I changed
d->gc = gdk_gc_new(pixmap);
to
d->gc = gdk_gc_new(GDK_DRAWABLE(pixmap));

but the errors stay.
And rewriting for Cairo is no option at all for me lol!
That’s a million % above my skills lol!

Hi
What about the configure.ac file, is there something like the following
present;


-DGTK_DISABLE_DEPRECATED"
-DGDK_DISABLE_DEPRECATED"
-DG_DISABLE_DEPRECATED"

If so, patch it out and see how the build goes.


Cheers Malcolm °¿° (Linux Counter #276890)
SUSE Linux Enterprise Desktop 11 (x86_64) Kernel 2.6.32.24-0.2-default
up 2 days 22:20, 4 users, load average: 0.19, 0.12, 0.09
GPU GeForce 8600 GTS Silent - Driver Version: 260.19.29

Hi
Looks like you just need to drop the “-DGDK_DISABLE_DEPRECATED”
http://mail.gnome.org/archives/commits-list/2010-August/msg05327.html


Cheers Malcolm °¿° (Linux Counter #276890)
SUSE Linux Enterprise Desktop 11 (x86_64) Kernel 2.6.32.24-0.2-default
up 3 days 14:25, 3 users, load average: 0.02, 0.08, 0.08
GPU GeForce 8600 GTS Silent - Driver Version: 260.19.29

No such entry unfortunately.
SUSE Paste

Had the same problem. You need to add the line
#include <gdk/gdk.h>
at the top of src/main.c. As far as I understood, the compiler assumes gdk_gc_new returns int because no definition is seen, and then suse’s check-scripts detect convertion from int to pointer and complain.

Hope this helps,
Philippe