[Mono-winforms-list] Landing: libgdiplus cairo 1.0 update

Alexander Olk xenomorph2 at onlinehome.de
Thu Aug 25 14:42:31 EDT 2005


Am Donnerstag, den 25.08.2005, 12:25 -0600 schrieb Peter Dennis Bartok:
> While we have tested the new lib quite thoroughly, however, it is always 
> possible that we missed something and that you may run into a problem that 
> didn't exist with the previous library. If you do, please let us know on the 
> list or file a bug report so we can get it squared away. Your patience is 
> appreciated during the switch-over.

Ok, here is a first problem:

Unhandled Exception: System.NullReferenceException: Object reference not
set to an instance of an object
in <0x00000> <unknown method>
in (wrapper managed-to-native) System.Drawing.GDIPlus:GdipFillRectangleI
(intptr,intptr,int,int,int,int)
in [0x00012]
(at /home/alex/develop/mcs/class/System.Drawing/System.Drawing/Graphics.cs:1181) System.Drawing.Graphics:FillRectangle (System.Drawing.Brush brush, Int32 x, Int32 y, Int32 width, Int32 height)
in [0x0001e]
(at /home/alex/develop/mcs/class/System.Drawing/System.Drawing/Graphics.cs:1176) System.Drawing.Graphics:FillRectangle (System.Drawing.Brush brush, Rectangle rect)
in (wrapper remoting-invoke-with-check)
System.Drawing.Graphics:FillRectangle
(System.Drawing.Brush,System.Drawing.Rectangle)
in [0x00120]
(at /home/alex/develop/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ThemeNice.cs:211) System.Windows.Forms.ThemeNice:DrawButtonBase (System.Drawing.Graphics dc, Rectangle clip_area, System.Windows.Forms.ButtonBase button)
in [0x00012]
(at /home/alex/develop/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ButtonBase.cs:109) System.Windows.Forms.ButtonBase:Draw (System.Windows.Forms.PaintEventArgs pevent)
in [0x00002]
(at /home/alex/develop/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ButtonBase.cs:493) System.Windows.Forms.ButtonBase:OnPaint (System.Windows.Forms.PaintEventArgs pevent)

and so on...

Code:

LinearGradientBrush lgbr;
if ( button.flat_style == FlatStyle.Flat )
	lgbr = new LinearGradientBrush( new Point( 0, 0 ), 
			new Point( 0, height ), use_color,
			Color.White );
else
	lgbr = new LinearGradientBrush( new Point( 0, 0 ), 
			new Point( 0, height ), Color.White,
			use_color );
dc.FillRectangle( lgbr, lgbRectangle );
lgbr.Dispose( );

FillRectangle is in line 211 in ThemeNice.cs...

Alexander Olk



More information about the Mono-winforms-list mailing list