Re: Pango CVS and gdkdrawable-fb2.c hate each other.



Mark J Roberts <mjr znex org> writes:

> gdkdrawable-fb2.c: In function `_gdk_fb_draw_glyphs':
> gdkdrawable-fb2.c:1188: `PangoFT2Subfont' undeclared (first use in this function)
> gdkdrawable-fb2.c:1188: (Each undeclared identifier is reported only once
> gdkdrawable-fb2.c:1188: for each function it appears in.)
> gdkdrawable-fb2.c:1188: parse error before "subfont_index"
> gdkdrawable-fb2.c:1214: warning: implicit declaration of function `PANGO_FT2_GLYPH_INDEX'
> gdkdrawable-fb2.c:1215: `subfont_index' undeclared (first use in this function)
> gdkdrawable-fb2.c:1215: warning: implicit declaration of function `PANGO_FT2_GLYPH_SUBFONT'
> gdkdrawable-fb2.c:1216: warning: implicit declaration of function `pango_ft2_get_face'
> gdkdrawable-fb2.c:1216: warning: assignment makes pointer from integer without a cast
> 
> pango-0.21 has them and pango cvs doesn't.

I think this has been fixed in CVS now:

Sat Nov 24 13:39:51 2001  Manish Singh  <yosh gimp org>

	* gdk/linux-fb/gdkdrawable-fb2.c
	* gdk/linux-fb/gdkpango-fb.c: update to latest Pango API

	* gdk/linux-fb/gdkwindow-fb.c: implement gdk_window_show_unraised

	* gdk/linux-fb/gdkfont-fb.c (gdk_font_load): plug memleak on
	set_family
	
	* gdk/linux-fb/gdkfbswitch.c: minor cleanups
 
> So I install 0.21 (forcing ./configure to use it) and forge ahead...

[ Well, that might cause other problems ]

> gdkproperty-fb.c:75: pointers are not permitted as case values
> gdkproperty-fb.c:76: pointers are not permitted as case values
> gdkproperty-fb.c:77: pointers are not permitted as case values
> gdkproperty-fb.c:78: pointers are not permitted as case values
> gdkproperty-fb.c:79: pointers are not permitted as case values
> gdkproperty-fb.c:80: pointers are not permitted as case values
> gdkproperty-fb.c:81: pointers are not permitted as case values
> gdkproperty-fb.c:82: pointers are not permitted as case values
> gdkproperty-fb.c:83: pointers are not permitted as case values
> gdkproperty-fb.c:84: pointers are not permitted as case values
> gdkproperty-fb.c:85: pointers are not permitted as case values
> 
> Looks like a gcc incompatibility. I'm running gcc 3.0.x from cvs.

I don't think so -- it's just a change in the definition of GdkAtom
that hasn'

> So I wran_p all those constants in GPOINTER_TO_UINT() and forge ahead...

Hmm, I wouldn't have guessed that would have worked -  but thinking
of it, I guess I don't see why:

 switch (..) 
   {
     case (uint)(void *)1:
       [...]
   }

wouldn't be valid. It is a point of C syntax that I'v never actually
examined in detail.
 
> /me waits and waits for gtk to compile...
> /me waits some more...
> /me 's still waiting...
> 
> /.libs/libgtk-linux-fb-1.3.so: undefined reference to `gdk_window_show_unraised'
>
> Hmm. What's this one... gdk/x11/ has that function but gdk/linux-fb/
> doesn't. For now I'll just duplicate gdk_show_window() and leave out
> the gdk_fb_window_raise (window); thing....
> 
> Woohoo, it built. However:

Fixed, see above.
 
> gtk+# gtk-demo
> 
> gtk-demo (pid:2947): Gdk-WARNING **: Can't open /dev/tty7: No such file or directory
> 
> gtk-demo (pid:2947): Gtk-WARNING **: cannot open display: /dev/fb0
> gtk+#
> 
> Looks like it doesn't like devfs. If GDK_DISPLAY isn't set you
> should try FRAMEBUFFER and also try "/dev/fb/0". (I forget what
> other apps use FRAMEBUFFER, but it is an ad hoc standard by now..)
> 
> And "/dev/tty%d" should fall back to "/dev/vc/%d" similarly.
> 
> /me changes that one and rebuilds....
> 
> Ack, the mouse init fails for the same reason: "/dev/psaux" ->
> "/dev/misc/psaux". Rebuild...

Feel free to send a patch :-)
 
> Blah, now it can't find any fonts. I'll try this:
> 
> http://mail.gnome.org/archives/gtk-i18n-list/2001-September/msg00008.html
> 
> /me sets up /etc/pango/{pangorc,...aliases}
> 
> Yay, a blue window shows up! Woot! (Even though it's dumping a whole
> load of "Couldn't load font foo" messages...)
> 
> And the widgets basically work, too, but moving things introduces
> nasty artifacts. In fact the highlighting colors are so strange, I'm
> tempted to suspect that pixels aren't being written in BGR24 format,
> but strangely the color selector widget and the animated widget look
> perfect. So I'm stumped. Oh well....

testgtk has a strange RC file. You might want to try moving the
testgtkrc file out of the way and see if things look more reasonable.

[..  gimp stuff omitted ] 

> Uh-oh. When I make a new file I see a flood of "assertion device !=
> NULL" messages and a segfault at gimpdisplayshell-callbacks.c:104.
> There's obviously something more to this device==NULL bug. The
> "device" pointer in all these instances is assigned from
> gdk_devices_list(). Hmm, linux-fb/gdkinput.c:
> 
> GList *
> gdk_devices_list (void)
> {
>   return _gdk_input_devices;
> }
> 
> So why are there bogus entries in that? I can't even figure out
> where anything is added to that list besides _gdk_core_pointer,
> which seems guaranteed valid.

You might want to check to see if _gdk_init_input_core() is being
called; if not, it looks like the list would contain a 
NULL pointer, which would cause problems.
 
> So I think this is where my journey ends for the moment. Oh, one
> more thing: gdk/linux-fb doesn't know how to deal with virtual
> framebuffer resolutions that are bigger than the visible res. And it
> doesn't reset the terminal attributes correctly even on normal
> exits.

Again, feel free to send patches :-), or to submit bug reports
at bugzilla.gnome.org, so that we have a way of tracking the
problem.

Regards,
                                        Owen



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