View Issue Details

IDProjectCategoryView StatusLast Update
0017906LazarusWidgetsetpublic2010-11-24 16:22
ReporterMartin FriebeAssigned ToZeljan Rikalo 
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product Version0.9.29 (SVN)Product Build 
Target VersionFixed in Version0.9.29 (SVN) 
Summary0017906: QT: wrong Monitor returned for pos [QT (w32) Rangecheck error on hint]
DescriptionPretty sure it's a regression.

Compile IDE with rangecheck, then hover over source-editor => when it tries to show a hint:

TApplication.HandleException Range check error
  Stack trace:
  $00565D9F line 4193 of include/wincontrol.inc
  $00571007 line 416 of include/control.inc
  $0057848A line 3205 of include/control.inc
  $0056E7CE line 7827 of include/wincontrol.inc
  $0042F0A5 line 186 of include/hintwindow.inc
  $00963866 line 6193 of sourceeditor.pp
  $00954668 line 2429 of sourceeditor.pp
  $00471E10 line 15379 of main.pp
  $00967BD9 line 7403 of sourceeditor.pp
  $00967897 line 7332 of sourceeditor.pp
  $00591713 line 181 of customtimer.pas
  $0059165E line 156 of customtimer.pas
  $00625D2A line 4174 of qtobjects.pas
TagsNo tags attached.
Fixed in Revision28458
LazTarget-
WidgetsetQT
Attached Files

Relationships

related to 0017774 closedPaul Ishenin Regression: GTK2 reports wrong Monitor for windows 

Activities

Zeljan Rikalo

2010-11-19 15:02

developer   ~0043259

@Martin, just tested under Win7 and cannot reproduce problem.Hints works ok (of course lazarus builded with -Cr).Lazarus 0.9.29 r28346 FPC 2.4.3, Qt-4.6.3.

Martin Friebe

2010-11-19 15:32

manager   ~0043260

Still there.

It did an additional test. I have 2 monitors. the crash only happens on 1 of the 2 monitors. On the other monitor the hints work fine.

Left monitor = secondary monitor (win taskbar is on 2ndary)
Right monitor = primary monitor

Crash happens on left monitor only.

I have not checked under QT lately, but IIRC on w32 the left monitor has negative coordinates
LeftMonitor.Left = -1680
RighMonitor.Left = 0

Zeljan Rikalo

2010-11-19 17:05

developer   ~0043264

I don't have multi monitor system , so no way to fix it.

Martin Friebe

2010-11-19 18:38

manager   ~0043269

I fixed the crash in revision 28348.

The way THintWindow.ActivateHint adjusted it coordinates, ended up witha negative width, if the hint top/left was outside the monitor.

In this case this happens because Screen.MonitorFromPoint seems to return the wrong monitor.

btw under QT, all my monitors have positiv Left values

M[0].left = 1680; // primary monitor, on the right side
M[1].left = 0; // 2ndar Monitor on the left side

So when the hit should pop up between 0 and 1680 (for it's left coordinate) then QT still returns the monitor for coordinates > 1680

Martin Friebe

2010-11-19 18:47

manager   ~0043270

updated subject

Paul Ishenin

2010-11-24 15:47

manager   ~0043475

Please test and close if ok.

Martin Friebe

2010-11-24 16:22

manager   ~0043481

thanks, works

Issue History

Date Modified Username Field Change
2010-11-11 17:43 Martin Friebe New Issue
2010-11-11 17:43 Martin Friebe LazTarget => -
2010-11-11 17:43 Martin Friebe Widgetset => QT
2010-11-11 20:38 Zeljan Rikalo Status new => assigned
2010-11-11 20:38 Zeljan Rikalo Assigned To => Zeljan Rikalo
2010-11-19 15:02 Zeljan Rikalo Note Added: 0043259
2010-11-19 15:02 Zeljan Rikalo Status assigned => feedback
2010-11-19 15:32 Martin Friebe Note Added: 0043260
2010-11-19 17:05 Zeljan Rikalo Note Added: 0043264
2010-11-19 18:38 Martin Friebe Note Added: 0043269
2010-11-19 18:41 Martin Friebe Relationship added related to 0017774
2010-11-19 18:47 Martin Friebe Note Added: 0043270
2010-11-19 18:47 Martin Friebe Summary QT (w32) Rangecheck error on hint => QT: wrong Monitor returned for pos [QT (w32) Rangecheck error on hint]
2010-11-24 15:47 Paul Ishenin Fixed in Revision => 28458
2010-11-24 15:47 Paul Ishenin Status feedback => resolved
2010-11-24 15:47 Paul Ishenin Fixed in Version => 0.9.29 (SVN)
2010-11-24 15:47 Paul Ishenin Resolution open => fixed
2010-11-24 15:47 Paul Ishenin Note Added: 0043475
2010-11-24 16:22 Martin Friebe Status resolved => closed
2010-11-24 16:22 Martin Friebe Note Added: 0043481