Project

General

Profile

Bug #8376

Focus transfer problem with frames having no focusable contents

Added by Vladimir Tsichevski about 2 months ago. Updated about 2 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
Due date:
% Done:

0%

billable:
No
vendor_id:
GCD
case_num:

Related issues

Related to User Interface - Bug #8095: LEAVE trigger fires in no focus change situation New

History

#1 Updated by Vladimir Tsichevski about 2 months ago

The code example:

// Define two frames, one inside another
DEFINE FRAME outerFrame WITH SIZE 80 BY 10.
DEFINE FRAME innerFrame WITH SIZE 60 BY 8.
FRAME innerFrame:FRAME = FRAME outerFrame:HANDLE.

// Print PROCEDURE parameter
PROCEDURE Print:
  DEFINE INPUT PARAMETER msg AS CHARACTER NO-UNDO.
  MESSAGE msg.
END PROCEDURE.

ON ENTRY OF FRAME outerFrame RUN Print("Outer Entry").
ON LEAVE OF FRAME outerFrame RUN Print("Outer Leave").

ON ENTRY OF FRAME innerFrame RUN Print("Inner Entry").
ON LEAVE OF FRAME innerFrame RUN Print("Inner Leave").

ENABLE ALL WITH FRAME outerFrame.
WAIT-FOR GO OF FRAME outerFrame.

In this example, two nested frames are defined with ENTER/LEAVE handlers for both frames. The handlers print the event descriptions.

Do the following:

  1. Click with the mouse inside the inner frame, the Inner Entry is printed, OK.
  2. Now click inside the outer frame, two messages Inner Leave and Outer Entry are printed, OK.
  3. Click inside the outer frame again, we expect no messages, since no focus change should happen, but the same two messages Inner Leave and Outer Entry are printed again.

You can repeat the last click multiple times with the same wrong effect.

I think, the problem here is that frames themselves cannot be focused, the fact that we clicked a frame with mouse is not recorded anywhere in FWD, but it should.

#3 Updated by Vladimir Tsichevski about 1 month ago

  • Related to Bug #8095: LEAVE trigger fires in no focus change situation added

Also available in: Atom PDF