aerostitch / testnavit

0 stars 0 forks source link

OSD behavior discrepancy #266

Open aerostitch opened 9 years ago

aerostitch commented 9 years ago

Issue migrated from trac ticket # 1292

component: osd/core | priority: major

2015-04-02 17:14:22: @pgrandin created the issue


Robert is working on a new plugin to add mp3 playback functionality, and he stumbled on an odd behavior discrepancy.

The code is available here : https://github.com/pohlinkzei/mp3player

Robert is currently developing on a 32bits Debian virtual machine.

When running his code on a Debian 7.8 i386, the OSD fails to display with this errors in the logs:

(navit:427): Gdk-CRITICAL **: _gdk_pixmap_new: assertion `(width != 0) && (height != 0)' failed
(navit:427): Gdk-CRITICAL **: IA__gdk_draw_drawable: assertion `GDK_IS_DRAWABLE (drawable)' failed
(navit:427): Gdk-CRITICAL **: IA__gdk_draw_drawable: assertion `GDK_IS_DRAWABLE (src)' failed
(navit:427): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed

When trying to run his code on x86_64 or raspberry pi, this line :

osd_fill_with_bgcolor(&this->osd_item);

will make navit complain at runtime :

undefined symbol: osd_fill_with_bgcolor'

but it will run correctly on i386.

The workaround for i386 is to specify the size of the osd ( w=xxx h=xxx ). Commenting the call to osd_fill_with_bgcolor allows the plugin to run correctly without having to specify the OSD size in the config file.

I'm puzzled as why we have this behavior and we will need to investigate more.