[lazarus] io-bmp.c fails on line 282?
Andrew Johnson
aj_genius at hotmail.com
Wed Sep 25 22:34:53 EDT 2002
On Wed, 25 Sep 2002 15:38:37 -0400
"Michael A. Hess" <mhess at miraclec.com> wrote :
>That's what has me concerned.
don't let it, its a minor issue, really, as a result of a temporary
gdk-pixbuf dependency. Once this code no longer requires gdk-pixbuf, it
won't matter what version is installed
>That's another point. I do have pixbuf and everything required on my
>machine, it is just an earlier version. (0.11) It is obviously OK as far as
>Lazarus is concerned because I make nightly binaries with this machine.
>
>So I downloaded your source and rebuilt it on my machine.
>
>I still get the same error even though it should have been built against
>the libraries I have on my machine. I'm not sure what is going on.
Simple, really. I just lloked through the notes and then the source tree of
gdk-pixbuf. It looks like there were alignment problems in the io-bmp.c file
in version prior to 0.13, and some more that weren't fixed until 0.15, there
also may have been fixes in 0.16, but I started working with gdk-pixbuf in
version 0.13, with only a few bitmaps that didn't work(it's been awhile so I
don't remember what kind) and all problems dissapeared for me in 0.15, and
the header we currently use was based on the gdk-pixbuf version 0.16 header
from my old laptop, which at the time had (I believe) Mandrake 8.1 with
Ximian( err. maybe helix?) installed. So basically most things should work
on systems with 0.15 and higher, and all things should compile fine on 0.11
and higher, aka things compiled against 0.11 will work with >=0.11, and
things compiled against 0.18 will work on >=0.11, however the bitmap code is
broken on versions <0.15.
I hope I am making sense here. But basically regardless of your GTK
version(>=1.2.1) and gdkpixbuf (>=0.11) all lazarus programs should work
for stretcblt'ing etc, but for bitmap loading gdk-pixbuf >=0.15 is required
for stable functionality. Preferably >=0.18 since that is what I am using so
that is what I can debug with. If you were to recompile without gdk-pixbuf
this error would go away, but all stretching and bitmap loading would do
nothing.. the same as if you removed the bitmaps entirely(like what Tony has
done in the exp. build) except that they will still be streamed in(so they
still need to be present), they just won't be decoded and displayed.
Okay now.. I am going to make a suggestion to Tony I probably should have to
begin with... but I am a dope... so, use Gimp to create pixmap(aka .xpm)
versions of your bitmaps. This can be done by opening them in Gimp and save
as, and select xpm from the file extension list, (and change the name
extension to .xpm), Pixmap support is native in all supported versions of
GTK, and don't use gdk-pixbuf for the loading process so it doesn't matter
if the user has a broken version or not. so long as they have a version
>=0.11
BTW I AM working on native support for DIB Sections in the GTK interface, it
just requies that I do a lot of redesigning of Drawing code throughout the
interface, so I am being carefull before I send in a Patch that will break
everybody's build. Once it is in place, Bitmaps should load properly with
or without gdk-pixbuf support enabled. Its just taking longer than I thought
because Win32 design is STUPID!!!
Andrew
_________________________________________________________________
Send and receive Hotmail on your mobile device: http://mobile.msn.com
More information about the Lazarus
mailing list