calling TextRect with Font.Name = '' raises SIGSEGV
Original Reporter info from Mantis: circular
-
Reporter name:
Original Reporter info from Mantis: circular
- Reporter name:
Description:
Using Font.Name and then calling TextRect raises SIGSEGV in NeedOffsetCalc function.
#0 NEEDOFFSETCALC(0x7fffffffd130) at gtk2/gtk2winapi.inc:2571
#1 DRAWLINERAW(0x7fffffffd130, 0x7728f8 'Hello world', 11, 0) at gtk2/gtk2winapi.inc:2602
#2 DRAWTEXT(0x7ffff7f80230, 140737201115200, 0x7728f8 'Hello world', 11, {LEFT = 0, TOP = 0, RIGHT = 320, BOTTOM = 240, TOPLEFT = {X = 0, Y = 0}, BOTTOMRIGHT = {X = 320, Y = 240}, VECTOR = {0, 0, 320, 240}}, 2352) at gtk2/gtk2winapi.inc:2697
#3 DRAWTEXT(140737201115200, 0x7728f8 'Hello world', 11, {LEFT = 0, TOP = 0, RIGHT = 320, BOTTOM = 240, TOPLEFT = {X = 0, Y = 0}, BOTTOMRIGHT = {X = 320, Y = 240}, VECTOR = {0, 0, 320, 240}}, 2352) at include/winapi.inc:215
#4 TEXTRECT(0x7fffeef29a40, {LEFT = 0, TOP = 0, RIGHT = 320, BOTTOM = 240, TOPLEFT = {X = 0, Y = 0}, BOTTOMRIGHT = {X = 320, Y = 240}, VECTOR = {0, 0, 320, 240}}, 0, 0, 0x7728f8 'Hello world', {ALIGNMENT = TALEFTJUSTIFY, LAYOUT = TLTOP, SINGLELINE = true, CLIPPING = true, EXPANDTABS = false, SHOWPREFIX = false, WORDBREAK = true, OPAQUE = false, SYSTEMFONT = false, RIGHTTOLEFT = false, ENDELLIPSIS = false}) at include/canvas.inc:1331
#5 TEXTRECT(0x7fffeef29a40, {LEFT = 0, TOP = 0, RIGHT = 320, BOTTOM = 240, TOPLEFT = {X = 0, Y = 0}, BOTTOMRIGHT = {X = 320, Y = 240}, VECTOR = {0, 0, 320, 240}}, 0, 0, 0x7728f8 'Hello world') at include/canvas.inc:1212
Steps to reproduce:
create an application and in the form paint event:
procedure TForm1.FormPaint(Sender: TObject);
begin
Canvas.Font.Name := '';
Canvas.Brush.Style := bsClear;
Canvas.TextRect(rect(0,0,ClientWidth,ClientHeight),0,0,'Hello world');
end;
Additional information:
Problem is that NeedOffsetCalc uses CurrentFont property of TGtkDeviceContext which is not initialized. Using GetFont instead seems to solve the problem.
Mantis conversion info:
- Mantis ID: 33809
- Version: 1.8.6
- Fixed in revision: r61344 (#8438d576)
- Monitored by: » circular (circular)