View Issue Details

IDProjectCategoryView StatusLast Update
0037599LazarusWidgetsetpublic2020-09-20 08:56
ReporterCudaText man Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
PlatformUbuntu 20 x64 
Product Version2.1 (SVN) 
Summary0037599: gtk3: Bugs in ATTabs
DescriptionATFlatControls
https://github.com/Alexey-T/ATFlatControls
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

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

Relationships

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

Activities

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
   begin
     Msg.Width := ACtl.LCLObject.Width;//Word(NewSize.cx);
     Msg.Height := ACtl.LCLObject.Height;//Word(NewSize.cy);
@@ -1511,7 +1511,7 @@
   end;
   ACtl.DeliverMessage(Msg);
 
-  if (wtWindow in ACtl.WidgetType) and
+ (* if (wtWindow in ACtl.WidgetType) and
     ((AGdkRect^.x <> ACtl.LCLObject.Left) or (AGdkRect^.y <> ACtl.LCLObject.Top)) then
   begin
     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));
     {$ENDIF}
     ACtl.DeliverMessage(MoveMsg);
-  end;
+  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
        Application.ActivateHint(Mouse.CursorPos)
      else
        Application.HideHint;

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
https://github.com/Alexey-T/FreePascal-tests/tree/master/Canvas%20figures%20tests
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