View Issue Details

IDProjectCategoryView StatusLast Update
0037599LazarusWidgetsetpublic2020-09-20 08:56
ReporterCudaText man Assigned To 
Status newResolutionopen 
PlatformUbuntu 20 x64 
Product Version2.1 (SVN) 
Summary0037599: gtk3: Bugs in ATTabs
it has app/demo_tabs project.
run it to see bugs on GTK3

a) tabs on top are 0-based. tabs 1 and 2 have Hints. but mouse over for them shows hint for very short time!
b) if you see Hint for short time, its ugly and very tall and yellow

z) form background is black
TagsNo tags attached.
Fixed in Revision
WidgetsetGTK 3
Attached Files


related to 0037712 new gtk3: TApplication.ActivateHint refreshes hint on every mouse move 


CudaText man

2020-08-30 18:11

reporter   ~0125222

And bug c) bad colors of top UI tabs when tabs are painted with angled sides (to toggle angled sides, demo gives the checkbox).

CudaText man

2020-08-30 18:12

reporter   ~0125223

Anton Kavalenka

2020-09-05 08:00

reporter   ~0125383

The patch fixes HintWindow sizing issue caused by crazy LCL<->GTK3 interaction.
And probably creates new issues.

Corner painting problem caused by generic RGBA <->BGRA bitmap problem. Please provide simpler testcase. ATTabs code is too big for digging.

Anton Kavalenka

2020-09-05 08:01

reporter   ~0125384

gtk3hint.diff (1,202 bytes)   
Index: lcl/interfaces/gtk3/gtk3widgets.pas
--- lcl/interfaces/gtk3/gtk3widgets.pas	(revision 63866)
+++ lcl/interfaces/gtk3/gtk3widgets.pas	(working copy)
@@ -1494,7 +1494,7 @@
   Msg.SizeType := Msg.SizeType or Size_SourceIsInterface;
-  if ACtl.WidgetType*[wtEntry,wtComboBox,wtScrollBar,wtSpinEdit]<>[] then
+  if ACtl.WidgetType*[wtEntry,wtComboBox,wtScrollBar,wtSpinEdit,wtHintWindow]<>[] then
     Msg.Width := ACtl.LCLObject.Width;//Word(;
     Msg.Height := ACtl.LCLObject.Height;//Word(;
@@ -1511,7 +1511,7 @@
-  if (wtWindow in ACtl.WidgetType) and
+ (* if (wtWindow in ACtl.WidgetType) and
     ((AGdkRect^.x <> ACtl.LCLObject.Left) or (AGdkRect^.y <> ACtl.LCLObject.Top)) then
     FillChar(MoveMsg, SizeOf(MoveMsg), #0);
@@ -1523,7 +1523,7 @@
     DebugLn('SEND MOVE MESSAGE X=',dbgs(AGdkRect^.x),' Y=',dbgs(AGdkRect^.y),' control ',dbgsName(ACtl.LCLObject));
-  end;
+  end;   *)
 function Gtk3ResizeEvent(AWidget: PGtkWidget; AEvent: PGdkEvent; Data: gpointer): gboolean; cdecl;
gtk3hint.diff (1,202 bytes)   

CudaText man

2020-09-05 08:12

reporter   ~0125385

Hint: better now.... but still hint flickers (less now) on moving mouse between first 4 tabs in the ATTabs demo. Tabs code in attabs.pas

      if Hint<>'' then

maybe ActivateHint is not ok.

Anton Kavalenka

2020-09-05 08:21

reporter   ~0125386

Last edited: 2020-09-05 08:30

View 2 revisions

Maybe GTK3 timer implementation

IMO hint behaves properly. Moving mouse along tabs periodically shows hint on cross button.

CudaText man

2020-09-06 08:54

reporter   ~0125402

Last edited: 2020-09-06 08:55

View 2 revisions

About color of triangles: I have this repro
gtk2 - triangles are yellow + purple edge
gtk3 - triangles are greenish + blue edge

CudaText man

2020-09-06 09:05

reporter   ~0125403

>IMO hint behaves properly. Moving mouse along tabs periodically shows hint on cross button.

I see in breakpoint when MY code calls Application.ShowHint+HideHint; it calls them only when I move mouse to another tab. So moving hint (mouse moves on the same tab) is not my action!
WS does it! it's a bug.

Issue History

Date Modified Username Field Change
2020-08-19 21:02 CudaText man New Issue
2020-08-30 18:11 CudaText man Note Added: 0125222
2020-08-30 18:12 CudaText man Note Added: 0125223
2020-08-30 18:12 CudaText man File Added: Screenshot from 2020-08-30 19-11-51.png
2020-09-05 08:00 Anton Kavalenka Note Added: 0125383
2020-09-05 08:01 Anton Kavalenka Note Added: 0125384
2020-09-05 08:01 Anton Kavalenka File Added: gtk3hint.diff
2020-09-05 08:12 CudaText man Note Added: 0125385
2020-09-05 08:21 Anton Kavalenka Note Added: 0125386
2020-09-05 08:30 Anton Kavalenka Note Edited: 0125386 View Revisions
2020-09-06 08:54 CudaText man Note Added: 0125402
2020-09-06 08:55 CudaText man Note Edited: 0125402 View Revisions
2020-09-06 09:05 CudaText man Note Added: 0125403
2020-09-20 08:56 Juha Manninen Relationship added related to 0037712