View Issue Details

IDProjectCategoryView StatusLast Update
0025992LazarusWidgetsetpublic2014-04-10 20:01
ReporterVojtech Cihak Assigned ToZeljan Rikalo  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Platformamd64OSLinux 
Product Version1.3 (SVN) 
Summary0025992: MouseWheel method are triggered twice over the ListBox [Qt]
DescriptionAll MouseWheel methods are triggered twice over the ListBox [Qt]

Affected methods:
DoMouseWheelUp, DoMouseWheelDown, DoMouseWheel, WMMouseWheel.

Ancestor (TWinControl) works well.
Same project in GTK2 works well.
Steps To ReproduceRun demo and roll the mouse wheel over the listbox. See output. Compare with GTK2.
Additional InformationLazarus 1.3 r44624M FPC 2.7.1 x86_64-linux-qt
TagsNo tags attached.
Fixed in Revision44667
LazTarget-
WidgetsetQT
Attached Files

Activities

Vojtech Cihak

2014-04-09 08:53

reporter  

MouseWheelQt.zip (7,042 bytes)

Zeljan Rikalo

2014-04-09 19:48

developer  

patch25992.diff (1,229 bytes)   
Index: lcl/interfaces/qt/qtwidgets.pas
===================================================================
--- lcl/interfaces/qt/qtwidgets.pas	(revision 44665)
+++ lcl/interfaces/qt/qtwidgets.pas	(working copy)
@@ -8070,13 +8070,13 @@
       else
       if (QEvent_type(Event) = QEventWheel) and Assigned(FOwner) and
         (
-        {$IFDEF QTSCROLLABLEFORMS}
-        (FOwner is TQtWindowArea) or
-        {$ENDIF}
-        (FOwner is TQtCustomControl)
+        (FOwner is TQtAbstractScrollArea)
         ) then
       begin
         Result := inherited EventFilter(Sender, Event);
+        {do not propagate wheel to viewport.issue #25992}
+        if not (FOwner is TQtCustomControl) then
+          QWidget_setAttribute(QWidgetH(Sender), QtWA_NoMousePropagation, True);
         // do not scroll when disabled
         if not getEnabled then
           Result := True;
@@ -16786,6 +16786,11 @@
     end;
 
     case QEvent_type(Event) of
+      QEventWheel:
+      begin
+        // do not propagate mousewheel.issue #25992
+        QWidget_setAttribute(QWidgetH(Sender), QtWA_NoMousePropagation, True);
+      end;
       QEventHide:
         if QWidget_mouseGrabber() = QWidgetH(Sender) then
           ReleaseCapture;
patch25992.diff (1,229 bytes)   

Zeljan Rikalo

2014-04-09 19:51

developer   ~0074236

Please test with attached patch.Note that all TQtAbstractScrollArea and TQtAbstractItemView (except TQtCustomControl and friends) classes are affected by this patch: TListBox, TCheckListBox, TListView ....
Test must be done with or without scrollbars (that's important).
If you provide positive feedback , I'll commit and set it to be merged to 1.2.2

Vojtech Cihak

2014-04-09 21:21

reporter  

MouseWheelQt2.zip (8,864 bytes)

Vojtech Cihak

2014-04-09 21:27

reporter   ~0074238

I added new demo. It consists of six components: TListBox, TCheckListBox, TListView with and w/o scrollbars with assigned OnMouseWheel event. All can reproduce the bug.
But when I compared with GTK2, there is one inconsistency of scrollbared ones:
Qt does not trigger event when scroll, and when scrollbar reaches the end, it produces 2 OnMouseWheel.
GTK2 on the other hand triggers 1 OnMouseWheel, no matter if scrollbar is in the end or in the middle.

I go to test the patch now.

Vojtech Cihak

2014-04-09 22:40

reporter   ~0074240

After applying patch:
ListBox w/o scrollbar: no OnMouseWheel at all = wrong
ListBox with scrollbar: 1 OnMouseWheel, no matter where SB is = correct
CheckListBox w/o scrollbar: 1 OnMouseWheel = correct
CheckListBox with scrollbar: 1 OnMouseWheel when SB is in the middle, 2 when SB is in the end = wrong
ListView w/o scrollbar: 1 OnMouseWheel = correct
ListView with scrollbar: 1 OnMouseWheel, no matter where SB is = correct

Zeljan Rikalo

2014-04-10 07:18

developer   ~0074245

hm...it's pretty strange. TListBox,TCheckListBox and TListView are TQtListWidget, only TListView=vsReport = TQtTreeWidget so all of them must behave same.What Qt version do you use ?

Zeljan Rikalo

2014-04-10 07:58

developer  

patch25992_2.diff (2,209 bytes)   
Index: lcl/interfaces/qt/qtwidgets.pas
===================================================================
--- lcl/interfaces/qt/qtwidgets.pas	(revision 44666)
+++ lcl/interfaces/qt/qtwidgets.pas	(working copy)
@@ -1166,6 +1166,7 @@
     procedure AttachEvents; override;
     procedure DetachEvents; override;
 
+    function EventFilter(Sender: QObjectH; Event: QEventH): Boolean; cdecl; override;
     function itemViewViewportEventFilter(Sender: QObjectH; Event: QEventH): Boolean; cdecl; virtual;
     procedure setDefaultColorRoles; override;
   public
@@ -8070,13 +8071,17 @@
       else
       if (QEvent_type(Event) = QEventWheel) and Assigned(FOwner) and
         (
-        {$IFDEF QTSCROLLABLEFORMS}
-        (FOwner is TQtWindowArea) or
-        {$ENDIF}
-        (FOwner is TQtCustomControl)
+        (FOwner is TQtAbstractScrollArea)
         ) then
       begin
-        Result := inherited EventFilter(Sender, Event);
+
+        // issue #25992
+        if not getVisible then
+          Result := FOwner.SlotMouseWheel(FOwner.Widget, Event)
+        else
+          Result := inherited EventFilter(Sender, Event);
+        // DebugLn('TQtScrollBar.EventFilter: QEventWheel ',dbgsName(LCLObject),' Result=',dbgs(Result));
+
         // do not scroll when disabled
         if not getEnabled then
           Result := True;
@@ -16689,7 +16694,7 @@
   {should be overriden by descedants}
 end;
 
-procedure TQtAbstractItemView.SignalViewportEntered; cdecl;
+procedure TQtAbstractItemView.signalViewportEntered; cdecl;
 begin
   {should be overriden by descedants}
 end;
@@ -16765,6 +16770,18 @@
   inherited DetachEvents;
 end;
 
+function TQtAbstractItemView.EventFilter(Sender: QObjectH; Event: QEventH
+  ): Boolean; cdecl;
+begin
+  Result := False;
+  // do not propagate QEventWheel to LCL from base control.
+  // We are doing that from viewport or scrollbar.issue #25992
+  if QEvent_type(Event) = QEventWheel then
+    // DebugLn('TQtAbstractItemView.EventFilter: QEventWheel ',dbgsName(LCLObject))
+  else
+    Result := inherited EventFilter(Sender, Event);
+end;
+
 function TQtAbstractItemView.itemViewViewportEventFilter(Sender: QObjectH;
   Event: QEventH): Boolean; cdecl;
 var
patch25992_2.diff (2,209 bytes)   

Zeljan Rikalo

2014-04-10 07:59

developer   ~0074246

@Vojtech, pls. test with patch25992_2, now only scrollbar propagates wheel events to lcl for all TQtAbstractScrollArea (TMemo, TListBox, TCheckListBox, TListView (vsReport and others separately), TCustomControl ...etc).

Zeljan Rikalo

2014-04-10 08:38

developer  

patch25992_3.diff (1,866 bytes)   
Index: lcl/interfaces/qt/qtwidgets.pas
===================================================================
--- lcl/interfaces/qt/qtwidgets.pas	(revision 44666)
+++ lcl/interfaces/qt/qtwidgets.pas	(working copy)
@@ -410,6 +410,7 @@
     FHScrollbar: TQtScrollBar;
     FVScrollbar: TQtScrollbar;
   public
+    function EventFilter(Sender: QObjectH; Event: QEventH): Boolean; cdecl; override;
     procedure grabMouse; override;
     function GetContainerWidget: QWidgetH; override;
     function getClientOffset: TPoint; override;
@@ -8070,13 +8071,17 @@
       else
       if (QEvent_type(Event) = QEventWheel) and Assigned(FOwner) and
         (
-        {$IFDEF QTSCROLLABLEFORMS}
-        (FOwner is TQtWindowArea) or
-        {$ENDIF}
-        (FOwner is TQtCustomControl)
+        (FOwner is TQtAbstractScrollArea)
         ) then
       begin
-        Result := inherited EventFilter(Sender, Event);
+
+        // issue #25992
+        if not getVisible then
+          Result := FOwner.SlotMouseWheel(FOwner.Widget, Event)
+        else
+          Result := inherited EventFilter(Sender, Event);
+        // DebugLn('TQtScrollBar.EventFilter: QEventWheel ',dbgsName(LCLObject),' Result=',dbgs(Result));
+
         // do not scroll when disabled
         if not getEnabled then
           Result := True;
@@ -15307,6 +15312,18 @@
   end;
 end;
 
+function TQtAbstractScrollArea.EventFilter(Sender: QObjectH; Event: QEventH
+  ): Boolean; cdecl;
+begin
+  Result := False;
+  if (QEvent_type(Event) = QEventWheel) and
+    not (FChildOfComplexWidget in
+      [ccwCustomControl, ccwScrollingWinControl, ccwScrollingWindow]) then
+    // issue #25992.Do not propagate wheel event to lcl, it is done via TQtScrollBar.EventFilter.
+  else
+    Result:=inherited EventFilter(Sender, Event);
+end;
+
 procedure TQtAbstractScrollArea.grabMouse;
 var
   W: QWidgetH;
patch25992_3.diff (1,866 bytes)   

Zeljan Rikalo

2014-04-10 08:38

developer   ~0074247

Better one is patch25992_3.diff

Vojtech Cihak

2014-04-10 09:18

reporter  

MouseWheelQt3.zip (10,276 bytes)

Vojtech Cihak

2014-04-10 09:22

reporter   ~0074249

I uploaded the third demo, where is eight components now: TListBox, TCheckListBox, TListView as vsList and TListView as vsReprort separately with and w/o scrollbars.
My Qt version is 4.8.5.
I'm going to test with patch25992_3.diff now.

Zeljan Rikalo

2014-04-10 09:23

developer  

patch25992_4.diff (2,393 bytes)   
Index: lcl/interfaces/qt/qtwidgets.pas
===================================================================
--- lcl/interfaces/qt/qtwidgets.pas	(revision 44666)
+++ lcl/interfaces/qt/qtwidgets.pas	(working copy)
@@ -410,6 +410,7 @@
     FHScrollbar: TQtScrollBar;
     FVScrollbar: TQtScrollbar;
   public
+    function EventFilter(Sender: QObjectH; Event: QEventH): Boolean; cdecl; override;
     procedure grabMouse; override;
     function GetContainerWidget: QWidgetH; override;
     function getClientOffset: TPoint; override;
@@ -6549,8 +6550,8 @@
   {$IFDEF QTSCROLLABLEFORMS}
   if Assigned(ScrollArea) and not IsMDIChild then
   begin
-    if QEvent_type(Event) in [QEventPaint,
-                              QEventContextMenu] then
+    if QEvent_type(Event) in
+      [QEventPaint, QEventContextMenu, QEventWheel] then
       exit;
   end;
   {$ENDIF}
@@ -8070,15 +8071,23 @@
       else
       if (QEvent_type(Event) = QEventWheel) and Assigned(FOwner) and
         (
-        {$IFDEF QTSCROLLABLEFORMS}
-        (FOwner is TQtWindowArea) or
-        {$ENDIF}
-        (FOwner is TQtCustomControl)
+        (FOwner is TQtAbstractScrollArea)
         ) then
       begin
-        Result := inherited EventFilter(Sender, Event);
+
+        // issue #25992
+        if not getVisible then
+          Result := FOwner.SlotMouseWheel(FOwner.Widget, Event)
+        else
+          Result := inherited EventFilter(Sender, Event);
+
+        // DebugLn('TQtScrollBar.EventFilter: QEventWheel ',dbgsName(LCLObject),' Result=',dbgs(Result));
+
         // do not scroll when disabled
-        if not getEnabled then
+        if not getEnabled
+          {$IFDEF QTSCROLLABLEFORMS} or
+          ((FOwner is TQtWindowArea) and not getVisible)
+          {$ENDIF} then
           Result := True;
       end else
         Result := False;
@@ -15307,6 +15316,18 @@
   end;
 end;
 
+function TQtAbstractScrollArea.EventFilter(Sender: QObjectH; Event: QEventH
+  ): Boolean; cdecl;
+begin
+  Result := False;
+  if (QEvent_type(Event) = QEventWheel) and
+    not (FChildOfComplexWidget in
+      [ccwCustomControl, ccwScrollingWinControl, ccwScrollingWindow]) then
+    // issue #25992.Do not propagate wheel event to lcl, it is done via TQtScrollBar.EventFilter.
+  else
+    Result:=inherited EventFilter(Sender, Event);
+end;
+
 procedure TQtAbstractScrollArea.grabMouse;
 var
   W: QWidgetH;
patch25992_4.diff (2,393 bytes)   

Zeljan Rikalo

2014-04-10 09:24

developer   ~0074250

patch25992_4.diff has additional QEventWheel fix for TQtWindowArea (TCustomForm), when QTSCROLLABLEFORMS is defined (it is defined by default).

Zeljan Rikalo

2014-04-10 09:31

developer   ~0074251

It is better (easier to debug such events) to include LCLProc and instead writeln('OnMouseWheel) write it like
DebugLn(dbgsName(Sender),'.OnMouseWheel()');
Also, I've tested OnMouseWheel of main form and it's ok now.
There's still TTreeView/TStringGrid/TScrollBox/TFrame which need to be tested.
Also, this is good moment to fix another (maybe incorrect) behaviour:
1.Form must be scrollable (eg autoscroll=TRUE and form is smaller than contents).
2.When you scroll over eg. ListBox without scrollbars it will propagate scroll to form so form will scroll.
3.When you scroll over ListBox with scrollbars it will not propagate scroll to parent form.This is ok, but when scrollbar is at the maximum or minimum should it propagate scroll to parent form ? What Delphi does ?

Vojtech Cihak

2014-04-10 09:37

reporter   ~0074252

OK, I'm going to test with patch25992_4.diff instead.

BTW, why Mantis displays files with *.diff suffix but they are *.patch?

I applied it this way: patch -p1 < patch25992_4.patch

Results:
ListBox w/o scrollbar: 1 OnMouseWheel = correct
ListBox with scrollbar: 1 OnMouseWheel, no matter where SB is = correct
CheckListBox w/o scrollbar: 1 OnMouseWheel = correct
CheckListBox with scrollbar: 1 OnMouseWheel, no matter where SB is = correct
ListView(vsList) w/o scrollbar: 1 OnMouseWheel = correct
ListView(vsList) with scrollbar: 1 OnMouseWheel, no matter where SB is = correct
ListView(vsReport) w/o scrollbar: 1 OnMouseWheel = correct
ListView(vsReport) with scrollbar: 1 OnMouseWheel, no matter where SB is = correct

All 8 cases seems correct now. If there's nothing else to test, may be resolved.

Vojtech Cihak

2014-04-10 09:43

reporter   ~0074253

@ 1.Form must be scrollable (eg autoscroll=TRUE and form is smaller than contents).
 2.When you scroll over eg. ListBox without scrollbars it will propagate scroll to form so form will scroll.
 3.When you scroll over ListBox with scrollbars it will not propagate scroll to parent form.This is ok, but when scrollbar is at the maximum or minimum should it propagate scroll to parent form ? What Delphi does ?

OK, I'll attach demo for this. I have no Delphi, someone else must test there.
I'll attach demo for TTreeView/TStringGrid/TScrollBox too. Not sure about TFrame.

Vojtech Cihak

2014-04-10 10:19

reporter  

LargerNoSB.zip (7,406 bytes)

Vojtech Cihak

2014-04-10 10:24

reporter   ~0074255

I uploaded new demo. 4 component (ListBox, checkListBox, ListView as vsList and ListView as vsReport) are larger than Form, have no scrollbars and Form is AutoScroll=True.

Result: scrolling is propagated to Form in all cases. There's small issue, when I roll up, I can't reach top-edge of the componetns. Top-most items stay hidden. The same is in GTK2.

Vojtech Cihak

2014-04-10 11:20

reporter  

LargerWithSB.zip (9,719 bytes)

Vojtech Cihak

2014-04-10 11:25

reporter   ~0074257

I uploaded new demo (LargerWithSB.zip). 4 component (ListBox, checkListBox, ListView as vsList and ListView as vsReport) are larger than Form, have scrollbars and Form is AutoScroll=True.

Result: scrolling is never propagated to Form, even if component's scrollbar reaches the bound.

I discovered another issue: items cannot be added to ListView (as vsReport) via code in GTk2, while in Qt it works. Demos which show this: LargerWithSB.zip, MouseWheelQt2.zip

Vojtech Cihak

2014-04-10 12:03

reporter  

OtherNoSB.zip (6,647 bytes)

Vojtech Cihak

2014-04-10 12:06

reporter   ~0074258

I uploaded OtherNoSB.zip demo. It contains TreeView, StringGrid and ScrollBox without scrollbars.

Result Qt: TreeView and StringGrid are correct. ScrollBox produces two OnMouseWheel events
Result GTK2: One event in all cases - correct

Vojtech Cihak

2014-04-10 12:28

reporter  

OtherWithSB.zip (7,341 bytes)

Vojtech Cihak

2014-04-10 12:29

reporter   ~0074260

I uploaded OtherWithSB.zip demo. It contains TreeView, StringGrid and ScrollBox with scrollbars.

 Result Qt: One event in all cases - correct
 Result GTK2: One event in all cases - correct

I'll try to test TFrame somehow.

Vojtech Cihak

2014-04-10 12:54

reporter  

Frames.zip (9,352 bytes)

Vojtech Cihak

2014-04-10 12:58

reporter   ~0074261

Finally, I added demo Frames.zip. It contains two forms with frames, Form1 w/o scrollbar, Form2 with scrollbar.

Results - Qt:
Frame without scrollbars triggers OnMouseWheel twice - wrong
Frame with scrollbars triggers OnMouseWheel once - correct

Results - GTK2:
Frame with or without scrollbars triggers OnMouseWheel once - correct

Vojtech Cihak

2014-04-10 13:31

reporter   ~0074263

Last edited: 2014-04-10 13:32

View 2 revisions

I'll summarize it.

There are six important demos now. After applying patch25992_4.patch:

MouseWheelQt3.zip:
 Results:
 ListBox w/o scrollbar: 1 OnMouseWheel = correct
 ListBox with scrollbar: 1 OnMouseWheel, no matter where SB is = correct
 CheckListBox w/o scrollbar: 1 OnMouseWheel = correct
 CheckListBox with scrollbar: 1 OnMouseWheel, no matter where SB is = correct
 ListView(vsList) w/o scrollbar: 1 OnMouseWheel = correct
 ListView(vsList) with scrollbar: 1 OnMouseWheel, no matter where SB is = correct
 ListView(vsReport) w/o scrollbar: 1 OnMouseWheel = correct
 ListView(vsReport) with scrollbar: 1 OnMouseWheel, no matter where SB is = correct

LargerNoSB.zip (4 component - ListBox, checkListBox, ListView as vsList and ListView as vsReport) are larger than Form, have no scrollbars and Form is AutoScroll=True.
Result: scrolling is propagated to Form in all cases.

LargerWithSB (4 component - ListBox, checkListBox, ListView as vsList and ListView as vsReport) are larger than Form, have scrollbars and Form is AutoScroll=True.
Result: scrolling is never propagated to Form, even if component's scrollbar reaches the bound.

OtherNoSB.zip: demo contains TreeView, StringGrid and ScrollBox without scrollbars.
Result Qt: TreeView and StringGrid are correct. ScrollBox produces two OnMouseWheel events
Result GTK2: One event in all cases - correct

OtherWithSB.zip: demo contains TreeView, StringGrid and ScrollBox with scrollbars.
Result Qt: One event in all cases - correct
Result GTK2: One event in all cases - correct

Frames.zip - contains two forms with frames, Form1 w/o scrollbar, Form2 with scrollbar.
Results - Qt:
Frame without scrollbars triggers OnMouseWheel twice - wrong
Frame with scrollbars triggers OnMouseWheel once - correct
Results - GTK2:
Frame with or without scrollbars triggers OnMouseWheel once - correct

Issue is now TFrame and TScrollBox without scrollbars. But we don't know Delphi behaviour.

Minor issue is that scrollbared components cannot be rolled to top-most position as I mentioned above.
The second minor issue is that items cannot be added to ListView (as vsReport) via code in GTK2, this should probably go to separate bug-report.

Zeljan Rikalo

2014-04-10 13:54

developer   ~0074265

Thanks for detailed testing. So, basically everything is ok now except that it triggers twice in case of TScrollingWinControl + no scrollbars ?

Vojtech Cihak

2014-04-10 13:59

reporter   ~0074266

@ So, basically everything is ok now except that it triggers twice in case of TScrollingWinControl + no scrollbars ?

Yes.

Zeljan Rikalo

2014-04-10 16:36

developer   ~0074272

Please test and close if ok. Fixed scrollbox and frame dbl trigger too.

Vojtech Cihak

2014-04-10 20:01

reporter   ~0074281

I tested all demos again with r.44668. Everything seems be OK.
Thanks, I close.

Issue History

Date Modified Username Field Change
2014-04-09 08:53 Vojtech Cihak New Issue
2014-04-09 08:53 Vojtech Cihak File Added: MouseWheelQt.zip
2014-04-09 10:46 Zeljan Rikalo Assigned To => Zeljan Rikalo
2014-04-09 10:46 Zeljan Rikalo Status new => assigned
2014-04-09 19:48 Zeljan Rikalo File Added: patch25992.diff
2014-04-09 19:51 Zeljan Rikalo LazTarget => -
2014-04-09 19:51 Zeljan Rikalo Note Added: 0074236
2014-04-09 19:51 Zeljan Rikalo Status assigned => feedback
2014-04-09 21:21 Vojtech Cihak File Added: MouseWheelQt2.zip
2014-04-09 21:27 Vojtech Cihak Note Added: 0074238
2014-04-09 21:27 Vojtech Cihak Status feedback => assigned
2014-04-09 22:40 Vojtech Cihak Note Added: 0074240
2014-04-10 07:18 Zeljan Rikalo Note Added: 0074245
2014-04-10 07:58 Zeljan Rikalo File Added: patch25992_2.diff
2014-04-10 07:59 Zeljan Rikalo Note Added: 0074246
2014-04-10 07:59 Zeljan Rikalo Status assigned => feedback
2014-04-10 08:38 Zeljan Rikalo File Added: patch25992_3.diff
2014-04-10 08:38 Zeljan Rikalo Note Added: 0074247
2014-04-10 09:18 Vojtech Cihak File Added: MouseWheelQt3.zip
2014-04-10 09:22 Vojtech Cihak Note Added: 0074249
2014-04-10 09:22 Vojtech Cihak Status feedback => assigned
2014-04-10 09:23 Zeljan Rikalo File Added: patch25992_4.diff
2014-04-10 09:24 Zeljan Rikalo Note Added: 0074250
2014-04-10 09:31 Zeljan Rikalo Note Added: 0074251
2014-04-10 09:37 Vojtech Cihak Note Added: 0074252
2014-04-10 09:43 Vojtech Cihak Note Added: 0074253
2014-04-10 10:19 Vojtech Cihak File Added: LargerNoSB.zip
2014-04-10 10:24 Vojtech Cihak Note Added: 0074255
2014-04-10 11:20 Vojtech Cihak File Added: LargerWithSB.zip
2014-04-10 11:25 Vojtech Cihak Note Added: 0074257
2014-04-10 12:03 Vojtech Cihak File Added: OtherNoSB.zip
2014-04-10 12:06 Vojtech Cihak Note Added: 0074258
2014-04-10 12:28 Vojtech Cihak File Added: OtherWithSB.zip
2014-04-10 12:29 Vojtech Cihak Note Added: 0074260
2014-04-10 12:54 Vojtech Cihak File Added: Frames.zip
2014-04-10 12:58 Vojtech Cihak Note Added: 0074261
2014-04-10 13:31 Vojtech Cihak Note Added: 0074263
2014-04-10 13:32 Vojtech Cihak Note Edited: 0074263 View Revisions
2014-04-10 13:54 Zeljan Rikalo Note Added: 0074265
2014-04-10 13:59 Vojtech Cihak Note Added: 0074266
2014-04-10 16:36 Zeljan Rikalo Fixed in Revision => 44667
2014-04-10 16:36 Zeljan Rikalo Note Added: 0074272
2014-04-10 16:36 Zeljan Rikalo Status assigned => resolved
2014-04-10 16:36 Zeljan Rikalo Resolution open => fixed
2014-04-10 20:01 Vojtech Cihak Note Added: 0074281
2014-04-10 20:01 Vojtech Cihak Status resolved => closed