View Issue Details

IDProjectCategoryView StatusLast Update
0034632PatchesLCLpublic2018-12-12 22:10
ReporterAlexey Tor.Assigned ToJuha Manninen 
PrioritynormalSeverityminorReproducibilityhave not tried
Status resolvedResolutionfixed 
Product Version2.1 (SVN)Product Build 
Target VersionFixed in Version 
Summary0034632: TColorListbox missed painting of crossed mark for clNone
DescriptionTColorBox has painting of crossed mark, if color value clNone.
I copied this to TColorListbox too.
Search for "noFill" word in colorbox.pas.
Before it painted only filled rect for clNone.
Steps To ReproduceTo check it: new app, place ColorListbox, OnCreate

procedure TForm1.FormCreate(Sender: TObject);
begin
  List.Items.Clear;
  List.Items.AddObject('test clNone', TObject(clNone));
  //List.Items.AddObject('test yellow', TObject(clYellow));
end;
TagsNo tags attached.
Fixed in Revisionr59807
LazTarget-
Widgetset
Attached Files
  • color.diff (936 bytes)
    Index: lcl/colorbox.pas
    ===================================================================
    --- lcl/colorbox.pas	(revision 59708)
    +++ lcl/colorbox.pas	(working copy)
    @@ -957,6 +957,7 @@
     var
       r: TRect;
       BrushColor, PenColor, NewColor: TColor;
    +  noFill: boolean;
     begin
       if Index < 0 then
         Exit;
    @@ -973,9 +974,13 @@
       PenColor := Canvas.Pen.Color;
     
       NewColor := Colors[Index];
    +  noFill := false;
     
       if NewColor = clNone then
    -    NewColor := NoneColorColor
    +  begin
    +    NewColor := NoneColorColor;
    +    noFill := true;
    +  end
       else
       if NewColor = clDefault then
         NewColor := DefaultColorColor;
    @@ -985,6 +990,12 @@
     
       Canvas.Rectangle(BidiFlipRect(r, Rect, UseRightToLeftAlignment));
     
    +  if noFill then
    +  begin
    +    Canvas.Line(r.Left, r.Top, r.Right-1, r.Bottom-1);
    +    Canvas.Line(r.Left, r.Bottom-1, r.Right-1, r.Top);
    +  end;
    +
       Canvas.Brush.Color := BrushColor;
       Canvas.Pen.Color := PenColor;
     
    
    color.diff (936 bytes)
  • before.png (11,651 bytes)
    before.png (11,651 bytes)
  • after.png (11,719 bytes)
    after.png (11,719 bytes)
  • mrk.diff (3,122 bytes)
    Index: lcl/colorbox.pas
    ===================================================================
    --- lcl/colorbox.pas	(revision 59713)
    +++ lcl/colorbox.pas	(working copy)
    @@ -277,6 +277,44 @@
     
     implementation
     
    +uses
    +  Math;
    +
    +procedure _PaintMarkCross(C: TCanvas; const r: TRect);
    +var
    +  w, h, x_c, y_c, half: integer;
    +begin
    +  w := r.Right-r.Left;
    +  h := r.Bottom-r.Top;
    +  half := Min(w, h) div 2-1;
    +  x_c := (r.Left+r.Right) div 2;
    +  y_c := (r.Top+r.Bottom) div 2;
    +  C.Line(x_c-half, y_c-half, x_c+half+1, y_c+half+1);
    +  C.Line(x_c-half, y_c+half, x_c+half+1, y_c-half-1);
    +end;
    +
    +procedure _PaintMarkDefault(C: TCanvas; const r: TRect);
    +const
    +  Indent = 2;
    +var
    +  PrevPen, PrevBrush: TColor;
    +  w, h, x_c, y_c, half: integer;
    +begin
    +  w := r.Right-r.Left;
    +  h := r.Bottom-r.Top;
    +  half := Min(w, h) div 2-1;
    +  x_c := (r.Left+r.Right) div 2;
    +  y_c := (r.Top+r.Bottom) div 2;
    +  PrevPen := C.Pen.Color;
    +  PrevBrush := C.Brush.Color;
    +  if Max(Max(Red(PrevBrush), Green(PrevBrush)), Blue(PrevBrush)) > $10 then
    +    C.Pen.Color := clBlack
    +  else
    +    C.Pen.Color := clWhite;
    +  C.Rectangle(x_c-half+Indent, y_c-half+Indent, x_c+half-Indent+1, y_c+half-Indent+1);
    +  C.Pen.Color := PrevPen;
    +end;
    +
     {------------------------------------------------------------------------------}
     procedure Register;
     begin
    @@ -602,7 +640,7 @@
     var
       r: TRect;
       BrushColor, PenColor, NewColor: TColor;
    -  noFill: Boolean;
    +  noFill, defMark: Boolean;
     begin
       if Index = -1 then
         Exit;
    @@ -613,6 +651,7 @@
       r.right := r.left + ColorRectWidth;
     
       noFill := false;
    +  defMark := false;
     
       if not(odBackgroundPainted in State) then
         Canvas.FillRect(Rect);
    @@ -629,7 +668,10 @@
       end
       else
       if NewColor = clDefault then
    +  begin
         NewColor := DefaultColorColor;
    +    defMark := true;
    +  end;
     
       Canvas.Brush.Color := NewColor;
       Canvas.Pen.Color := clBlack;
    @@ -638,10 +680,10 @@
       Canvas.Rectangle(r);
     
       if noFill then
    -  begin
    -    Canvas.Line(r.Left, r.Top, r.Right-1, r.Bottom-1);
    -    Canvas.Line(r.Left, r.Bottom-1, r.Right-1, r.Top);
    -  end;
    +    _PaintMarkCross(Canvas, r)
    +  else
    +  if defMark then
    +    _PaintMarkDefault(Canvas, r);
     
       Canvas.Brush.Color := BrushColor;
       Canvas.Pen.Color := PenColor;
    @@ -957,6 +999,7 @@
     var
       r: TRect;
       BrushColor, PenColor, NewColor: TColor;
    +  noFill, defMark: boolean;
     begin
       if Index < 0 then
         Exit;
    @@ -973,12 +1016,20 @@
       PenColor := Canvas.Pen.Color;
     
       NewColor := Colors[Index];
    +  noFill := false;
    +  defMark := false;
     
       if NewColor = clNone then
    -    NewColor := NoneColorColor
    +  begin
    +    NewColor := NoneColorColor;
    +    noFill := true;
    +  end
       else
       if NewColor = clDefault then
    +  begin
         NewColor := DefaultColorColor;
    +    defMark := true;
    +  end;
     
       Canvas.Brush.Color := NewColor;
       Canvas.Pen.Color := clBlack;
    @@ -985,6 +1036,12 @@
     
       Canvas.Rectangle(BidiFlipRect(r, Rect, UseRightToLeftAlignment));
     
    +  if noFill then
    +    _PaintMarkCross(Canvas, r)
    +  else
    +  if defMark then
    +    _PaintMarkDefault(Canvas, r);
    +
       Canvas.Brush.Color := BrushColor;
       Canvas.Pen.Color := PenColor;
     
    
    mrk.diff (3,122 bytes)
  • mrk2.diff (3,412 bytes)
    Index: lcl/colorbox.pas
    ===================================================================
    --- lcl/colorbox.pas	(revision 59713)
    +++ lcl/colorbox.pas	(working copy)
    @@ -277,6 +277,45 @@
     
     implementation
     
    +uses
    +  Math;
    +
    +procedure _PaintMarkCross(C: TCanvas; const r: TRect);
    +var
    +  w, h, x_c, y_c, half: integer;
    +begin
    +  w := r.Right-r.Left;
    +  h := r.Bottom-r.Top;
    +  half := Min(w, h) div 2-1;
    +  x_c := (r.Left+r.Right) div 2;
    +  y_c := (r.Top+r.Bottom) div 2;
    +  C.Line(x_c-half, y_c-half, x_c+half+1, y_c+half+1);
    +  C.Line(x_c-half, y_c+half, x_c+half+1, y_c-half-1);
    +end;
    +
    +procedure _PaintMarkSquare(C: TCanvas; const r: TRect);
    +const
    +  Indent = 2;
    +  ColorDark = $70;
    +var
    +  PrevPen, PrevBrush: TColor;
    +  w, h, x_c, y_c, half: integer;
    +begin
    +  w := r.Right-r.Left;
    +  h := r.Bottom-r.Top;
    +  half := Min(w, h) div 2-1;
    +  x_c := (r.Left+r.Right) div 2;
    +  y_c := (r.Top+r.Bottom) div 2;
    +  PrevPen := C.Pen.Color;
    +  PrevBrush := C.Brush.Color;
    +  if Max(Max(Red(PrevBrush), Green(PrevBrush)), Blue(PrevBrush)) > ColorDark then
    +    C.Pen.Color := clBlack
    +  else
    +    C.Pen.Color := clWhite;
    +  C.Rectangle(x_c-half+Indent, y_c-half+Indent, x_c+half-Indent+1, y_c+half-Indent+1);
    +  C.Pen.Color := PrevPen;
    +end;
    +
     {------------------------------------------------------------------------------}
     procedure Register;
     begin
    @@ -602,7 +641,7 @@
     var
       r: TRect;
       BrushColor, PenColor, NewColor: TColor;
    -  noFill: Boolean;
    +  MarkNone, MarkDef: Boolean;
     begin
       if Index = -1 then
         Exit;
    @@ -612,7 +651,8 @@
       r.left := Rect.left + ColorRectOffset;
       r.right := r.left + ColorRectWidth;
     
    -  noFill := false;
    +  MarkNone := false;
    +  MarkDef := false;
     
       if not(odBackgroundPainted in State) then
         Canvas.FillRect(Rect);
    @@ -625,11 +665,14 @@
       if NewColor = clNone then
       begin
         NewColor := NoneColorColor;
    -    noFill := true;
    +    MarkNone := true;
       end
       else
       if NewColor = clDefault then
    +  begin
         NewColor := DefaultColorColor;
    +    MarkDef := true;
    +  end;
     
       Canvas.Brush.Color := NewColor;
       Canvas.Pen.Color := clBlack;
    @@ -637,11 +680,11 @@
       r := BiDiFlipRect(r, Rect, UseRightToLeftAlignment);
       Canvas.Rectangle(r);
     
    -  if noFill then
    -  begin
    -    Canvas.Line(r.Left, r.Top, r.Right-1, r.Bottom-1);
    -    Canvas.Line(r.Left, r.Bottom-1, r.Right-1, r.Top);
    -  end;
    +  if MarkNone then
    +    _PaintMarkCross(Canvas, r)
    +  else
    +  if MarkDef then
    +    _PaintMarkSquare(Canvas, r);
     
       Canvas.Brush.Color := BrushColor;
       Canvas.Pen.Color := PenColor;
    @@ -957,6 +1000,7 @@
     var
       r: TRect;
       BrushColor, PenColor, NewColor: TColor;
    +  MarkNone, MarkDef: boolean;
     begin
       if Index < 0 then
         Exit;
    @@ -973,12 +1017,20 @@
       PenColor := Canvas.Pen.Color;
     
       NewColor := Colors[Index];
    +  MarkNone := false;
    +  MarkDef := false;
     
       if NewColor = clNone then
    -    NewColor := NoneColorColor
    +  begin
    +    NewColor := NoneColorColor;
    +    MarkNone := true;
    +  end
       else
       if NewColor = clDefault then
    +  begin
         NewColor := DefaultColorColor;
    +    MarkDef := true;
    +  end;
     
       Canvas.Brush.Color := NewColor;
       Canvas.Pen.Color := clBlack;
    @@ -985,6 +1037,12 @@
     
       Canvas.Rectangle(BidiFlipRect(r, Rect, UseRightToLeftAlignment));
     
    +  if MarkNone then
    +    _PaintMarkCross(Canvas, r)
    +  else
    +  if MarkDef then
    +    _PaintMarkSquare(Canvas, r);
    +
       Canvas.Brush.Color := BrushColor;
       Canvas.Pen.Color := PenColor;
     
    
    mrk2.diff (3,412 bytes)

Activities

Alexey Tor.

2018-12-02 06:55

reporter  

color.diff (936 bytes)
Index: lcl/colorbox.pas
===================================================================
--- lcl/colorbox.pas	(revision 59708)
+++ lcl/colorbox.pas	(working copy)
@@ -957,6 +957,7 @@
 var
   r: TRect;
   BrushColor, PenColor, NewColor: TColor;
+  noFill: boolean;
 begin
   if Index < 0 then
     Exit;
@@ -973,9 +974,13 @@
   PenColor := Canvas.Pen.Color;
 
   NewColor := Colors[Index];
+  noFill := false;
 
   if NewColor = clNone then
-    NewColor := NoneColorColor
+  begin
+    NewColor := NoneColorColor;
+    noFill := true;
+  end
   else
   if NewColor = clDefault then
     NewColor := DefaultColorColor;
@@ -985,6 +990,12 @@
 
   Canvas.Rectangle(BidiFlipRect(r, Rect, UseRightToLeftAlignment));
 
+  if noFill then
+  begin
+    Canvas.Line(r.Left, r.Top, r.Right-1, r.Bottom-1);
+    Canvas.Line(r.Left, r.Bottom-1, r.Right-1, r.Top);
+  end;
+
   Canvas.Brush.Color := BrushColor;
   Canvas.Pen.Color := PenColor;
 
color.diff (936 bytes)

Alexey Tor.

2018-12-02 10:23

reporter  

before.png (11,651 bytes)
before.png (11,651 bytes)

Alexey Tor.

2018-12-02 10:23

reporter  

after.png (11,719 bytes)
after.png (11,719 bytes)

Alexey Tor.

2018-12-02 10:23

reporter  

mrk.diff (3,122 bytes)
Index: lcl/colorbox.pas
===================================================================
--- lcl/colorbox.pas	(revision 59713)
+++ lcl/colorbox.pas	(working copy)
@@ -277,6 +277,44 @@
 
 implementation
 
+uses
+  Math;
+
+procedure _PaintMarkCross(C: TCanvas; const r: TRect);
+var
+  w, h, x_c, y_c, half: integer;
+begin
+  w := r.Right-r.Left;
+  h := r.Bottom-r.Top;
+  half := Min(w, h) div 2-1;
+  x_c := (r.Left+r.Right) div 2;
+  y_c := (r.Top+r.Bottom) div 2;
+  C.Line(x_c-half, y_c-half, x_c+half+1, y_c+half+1);
+  C.Line(x_c-half, y_c+half, x_c+half+1, y_c-half-1);
+end;
+
+procedure _PaintMarkDefault(C: TCanvas; const r: TRect);
+const
+  Indent = 2;
+var
+  PrevPen, PrevBrush: TColor;
+  w, h, x_c, y_c, half: integer;
+begin
+  w := r.Right-r.Left;
+  h := r.Bottom-r.Top;
+  half := Min(w, h) div 2-1;
+  x_c := (r.Left+r.Right) div 2;
+  y_c := (r.Top+r.Bottom) div 2;
+  PrevPen := C.Pen.Color;
+  PrevBrush := C.Brush.Color;
+  if Max(Max(Red(PrevBrush), Green(PrevBrush)), Blue(PrevBrush)) > $10 then
+    C.Pen.Color := clBlack
+  else
+    C.Pen.Color := clWhite;
+  C.Rectangle(x_c-half+Indent, y_c-half+Indent, x_c+half-Indent+1, y_c+half-Indent+1);
+  C.Pen.Color := PrevPen;
+end;
+
 {------------------------------------------------------------------------------}
 procedure Register;
 begin
@@ -602,7 +640,7 @@
 var
   r: TRect;
   BrushColor, PenColor, NewColor: TColor;
-  noFill: Boolean;
+  noFill, defMark: Boolean;
 begin
   if Index = -1 then
     Exit;
@@ -613,6 +651,7 @@
   r.right := r.left + ColorRectWidth;
 
   noFill := false;
+  defMark := false;
 
   if not(odBackgroundPainted in State) then
     Canvas.FillRect(Rect);
@@ -629,7 +668,10 @@
   end
   else
   if NewColor = clDefault then
+  begin
     NewColor := DefaultColorColor;
+    defMark := true;
+  end;
 
   Canvas.Brush.Color := NewColor;
   Canvas.Pen.Color := clBlack;
@@ -638,10 +680,10 @@
   Canvas.Rectangle(r);
 
   if noFill then
-  begin
-    Canvas.Line(r.Left, r.Top, r.Right-1, r.Bottom-1);
-    Canvas.Line(r.Left, r.Bottom-1, r.Right-1, r.Top);
-  end;
+    _PaintMarkCross(Canvas, r)
+  else
+  if defMark then
+    _PaintMarkDefault(Canvas, r);
 
   Canvas.Brush.Color := BrushColor;
   Canvas.Pen.Color := PenColor;
@@ -957,6 +999,7 @@
 var
   r: TRect;
   BrushColor, PenColor, NewColor: TColor;
+  noFill, defMark: boolean;
 begin
   if Index < 0 then
     Exit;
@@ -973,12 +1016,20 @@
   PenColor := Canvas.Pen.Color;
 
   NewColor := Colors[Index];
+  noFill := false;
+  defMark := false;
 
   if NewColor = clNone then
-    NewColor := NoneColorColor
+  begin
+    NewColor := NoneColorColor;
+    noFill := true;
+  end
   else
   if NewColor = clDefault then
+  begin
     NewColor := DefaultColorColor;
+    defMark := true;
+  end;
 
   Canvas.Brush.Color := NewColor;
   Canvas.Pen.Color := clBlack;
@@ -985,6 +1036,12 @@
 
   Canvas.Rectangle(BidiFlipRect(r, Rect, UseRightToLeftAlignment));
 
+  if noFill then
+    _PaintMarkCross(Canvas, r)
+  else
+  if defMark then
+    _PaintMarkDefault(Canvas, r);
+
   Canvas.Brush.Color := BrushColor;
   Canvas.Pen.Color := PenColor;
 
mrk.diff (3,122 bytes)

Alexey Tor.

2018-12-02 10:25

reporter   ~0112317

Last edited: 2018-12-02 10:25

View 2 revisions

mrk.diff. Instead of color.diff.
- Nicer cross mark for clNone - if color rect is not square, mark is much better
- New mark for clDefault added (black or white, auto color)

see
before.png / after.png

Alexey Tor.

2018-12-02 12:19

reporter  

mrk2.diff (3,412 bytes)
Index: lcl/colorbox.pas
===================================================================
--- lcl/colorbox.pas	(revision 59713)
+++ lcl/colorbox.pas	(working copy)
@@ -277,6 +277,45 @@
 
 implementation
 
+uses
+  Math;
+
+procedure _PaintMarkCross(C: TCanvas; const r: TRect);
+var
+  w, h, x_c, y_c, half: integer;
+begin
+  w := r.Right-r.Left;
+  h := r.Bottom-r.Top;
+  half := Min(w, h) div 2-1;
+  x_c := (r.Left+r.Right) div 2;
+  y_c := (r.Top+r.Bottom) div 2;
+  C.Line(x_c-half, y_c-half, x_c+half+1, y_c+half+1);
+  C.Line(x_c-half, y_c+half, x_c+half+1, y_c-half-1);
+end;
+
+procedure _PaintMarkSquare(C: TCanvas; const r: TRect);
+const
+  Indent = 2;
+  ColorDark = $70;
+var
+  PrevPen, PrevBrush: TColor;
+  w, h, x_c, y_c, half: integer;
+begin
+  w := r.Right-r.Left;
+  h := r.Bottom-r.Top;
+  half := Min(w, h) div 2-1;
+  x_c := (r.Left+r.Right) div 2;
+  y_c := (r.Top+r.Bottom) div 2;
+  PrevPen := C.Pen.Color;
+  PrevBrush := C.Brush.Color;
+  if Max(Max(Red(PrevBrush), Green(PrevBrush)), Blue(PrevBrush)) > ColorDark then
+    C.Pen.Color := clBlack
+  else
+    C.Pen.Color := clWhite;
+  C.Rectangle(x_c-half+Indent, y_c-half+Indent, x_c+half-Indent+1, y_c+half-Indent+1);
+  C.Pen.Color := PrevPen;
+end;
+
 {------------------------------------------------------------------------------}
 procedure Register;
 begin
@@ -602,7 +641,7 @@
 var
   r: TRect;
   BrushColor, PenColor, NewColor: TColor;
-  noFill: Boolean;
+  MarkNone, MarkDef: Boolean;
 begin
   if Index = -1 then
     Exit;
@@ -612,7 +651,8 @@
   r.left := Rect.left + ColorRectOffset;
   r.right := r.left + ColorRectWidth;
 
-  noFill := false;
+  MarkNone := false;
+  MarkDef := false;
 
   if not(odBackgroundPainted in State) then
     Canvas.FillRect(Rect);
@@ -625,11 +665,14 @@
   if NewColor = clNone then
   begin
     NewColor := NoneColorColor;
-    noFill := true;
+    MarkNone := true;
   end
   else
   if NewColor = clDefault then
+  begin
     NewColor := DefaultColorColor;
+    MarkDef := true;
+  end;
 
   Canvas.Brush.Color := NewColor;
   Canvas.Pen.Color := clBlack;
@@ -637,11 +680,11 @@
   r := BiDiFlipRect(r, Rect, UseRightToLeftAlignment);
   Canvas.Rectangle(r);
 
-  if noFill then
-  begin
-    Canvas.Line(r.Left, r.Top, r.Right-1, r.Bottom-1);
-    Canvas.Line(r.Left, r.Bottom-1, r.Right-1, r.Top);
-  end;
+  if MarkNone then
+    _PaintMarkCross(Canvas, r)
+  else
+  if MarkDef then
+    _PaintMarkSquare(Canvas, r);
 
   Canvas.Brush.Color := BrushColor;
   Canvas.Pen.Color := PenColor;
@@ -957,6 +1000,7 @@
 var
   r: TRect;
   BrushColor, PenColor, NewColor: TColor;
+  MarkNone, MarkDef: boolean;
 begin
   if Index < 0 then
     Exit;
@@ -973,12 +1017,20 @@
   PenColor := Canvas.Pen.Color;
 
   NewColor := Colors[Index];
+  MarkNone := false;
+  MarkDef := false;
 
   if NewColor = clNone then
-    NewColor := NoneColorColor
+  begin
+    NewColor := NoneColorColor;
+    MarkNone := true;
+  end
   else
   if NewColor = clDefault then
+  begin
     NewColor := DefaultColorColor;
+    MarkDef := true;
+  end;
 
   Canvas.Brush.Color := NewColor;
   Canvas.Pen.Color := clBlack;
@@ -985,6 +1037,12 @@
 
   Canvas.Rectangle(BidiFlipRect(r, Rect, UseRightToLeftAlignment));
 
+  if MarkNone then
+    _PaintMarkCross(Canvas, r)
+  else
+  if MarkDef then
+    _PaintMarkSquare(Canvas, r);
+
   Canvas.Brush.Color := BrushColor;
   Canvas.Pen.Color := PenColor;
 
mrk2.diff (3,412 bytes)

Alexey Tor.

2018-12-02 12:19

reporter   ~0112318

mrk.diff - improved to mrk2.diff.

wp

2018-12-02 12:29

developer   ~0112319

Last edited: 2018-12-02 12:33

View 4 revisions

That square cross looks strange inside the rectangle, and even stranger, if the rectangle is almost a square... I'd much prefer the "true" diagonals. And why is there a square inside the DefaultColor box? Are there any programs in which the default color is indicated this way? The cross for the clNone was motivated by graphic software such as CorelDraw or Inkscape which indicate it this way.

Alexey Tor.

2018-12-02 13:07

reporter   ~0112321

wp,
problem is on Win32 where Listbox item height is small (smaller than on my pictures) and diagonal lines [aliased] look bad. If it is not square. So to make it nice on Win32 it's so


>And why is there a square inside the DefaultColor box?
To show that it's special color, not RGB color.

Juha Manninen

2018-12-12 22:10

developer   ~0112522

I applied the first patch (color.diff). Thanks.
It seems the other patches are not applied now. Resolving...

Issue History

Date Modified Username Field Change
2018-12-02 06:55 Alexey Tor. New Issue
2018-12-02 06:55 Alexey Tor. File Added: color.diff
2018-12-02 10:23 Alexey Tor. File Added: before.png
2018-12-02 10:23 Alexey Tor. File Added: after.png
2018-12-02 10:23 Alexey Tor. File Added: mrk.diff
2018-12-02 10:25 Alexey Tor. Note Added: 0112317
2018-12-02 10:25 Alexey Tor. Note Edited: 0112317 View Revisions
2018-12-02 12:19 Alexey Tor. File Added: mrk2.diff
2018-12-02 12:19 Alexey Tor. Note Added: 0112318
2018-12-02 12:29 wp Note Added: 0112319
2018-12-02 12:29 wp Note Edited: 0112319 View Revisions
2018-12-02 12:31 wp Note Edited: 0112319 View Revisions
2018-12-02 12:33 wp Note Edited: 0112319 View Revisions
2018-12-02 13:07 Alexey Tor. Note Added: 0112321
2018-12-12 21:54 Juha Manninen Assigned To => Juha Manninen
2018-12-12 21:54 Juha Manninen Status new => assigned
2018-12-12 22:10 Juha Manninen Fixed in Revision => r59807
2018-12-12 22:10 Juha Manninen LazTarget => -
2018-12-12 22:10 Juha Manninen Note Added: 0112522
2018-12-12 22:10 Juha Manninen Status assigned => resolved
2018-12-12 22:10 Juha Manninen Resolution open => fixed