CVSROOT:        /cvs/gnome
Module name:    ooo-build
Changes by:     tml     06/10/09 16:06:35

Modified files:
        .              : ChangeLog 
        patches/cairo  : cairo-canvas-win32.diff 
                         cairocanvas-check-bitmap-system-data-pixmap-size.diff 

Log message:
2006-10-09  Tor Lillqvist  <[EMAIL PROTECTED]>

* patches/cairo/cairo-canvas-win32.diff: Fix handling of Bitmaps
that are implemented as in-memory DIBs by WinSalBmp. This is
indicated by BitmapSystemData::pDIB being non-NULL. It is a
HGLOBAL for the DIB. We can't pass the bitmap data for that to
cairo_image_surface_create_for_data() as the format is wrong in
many ways; for starters, it's upside-down, and if it has a DIB
format other than 24-bit BI-RGB, cairo wouldn't understand it
anyway.

Possibly it would make sense to have sal create DIB sections
instead of mucking around with "global" memory segments and
in-memory DIBs. Probably that code in sal is a leftover from Win9x
days, or even older. DIB sections have the actual bits in-memory
anyway, and additionally they have HBITMAP handles that can be
used like HBITMAP handles for DDBs.

* patches/cairocanvas-check-bitmap-system-data-pixmap-size.diff
(DeviceHelper::getSurface): On Win32, notice DIB bitmaps early
here before even calling the Surface constructor. Return NULL
instead, and the code higher in the call chain will use fallback
code instead.

URL : 
http://cvs.gnome.org/bonsai/cvsquery.cgi?branch=&dir=ooo-build&who=tml&date=explicit&mindate=2006-10-09%2016:05&maxdate=2006-10-09%2016:07

_______________________________________________
cvs-commits-list mailing list
cvs-commits-list@gnome.org
http://mail.gnome.org/mailman/listinfo/cvs-commits-list

Reply via email to