Bug #3064
Dragging a Web GUI window out of document's visible area makes the window disappear
100%
History
#1 Updated by Hynek Cihlar over 10 years ago
- Run an app with a top-level window in Web GUI client.
- Drag the window out of the document's visible area.
- The window will disappear.
#2 Updated by Greg Shah over 10 years ago
- Start date deleted (
04/13/2016) - Assignee set to Sergey Ivanovskiy
#3 Updated by Sergey Ivanovskiy over 10 years ago
Is it the same bug that has been found during the regression testing of 1811t?
./window_parenting/waitfor_2wnd.p for the web client the second window (hwin2) disappears if we move it. (regression P2j trunc doesn't have this bug)
#4 Updated by Sergey Ivanovskiy over 10 years ago
- File 3064_bug.mkv added
Testing ./demo/simple_windows.p for P2j trunc proves that if we move windows out of the browser's view to its left side, then they jump to the opposite right side of the view and the horizontal scrollbar appears. Thus these two windows are still accessible by moving the horizontal scroll bar.
#5 Updated by Sergey Ivanovskiy over 10 years ago
After recent commits in P2J trunc this function activateTopVisibleWindow of p2j.screen.js module was broken and p2j.socket.sendWindowActive was removed:
/**
* Move the first upper visible window to the top of other visible windows
* after the selected window is minimized.
*
* @param {Number} id
* The id of the window that has been minimized.
*/
function activateTopVisibleWindow(id)
{
var topWindow = findTopVisibleWindow(id);
var focusOut = !(topWindow);
p2j.socket.sendWindowActive(id, false, focusOut);
if (topWindow)
{
topWindow.moveToTop();
p2j.socket.sendWindowActive(topWindow.id, true, false);
}
}
#6 Updated by Sergey Ivanovskiy over 10 years ago
- File 3064_1.txt
added
Committed revision 11006 (1811u) fixed the window location coordinates to have 32 bits size.
#7 Updated by Hynek Cihlar over 10 years ago
Sergey Ivanovskiy wrote:
After recent commits in P2J trunc this function
activateTopVisibleWindowofp2j.screen.jsmodule was broken andp2j.socket.sendWindowActivewas removed:
[...]
I renamed sendWindowActive to sendWindowActivated and changed the signature of the method to take the id of the window being deactivated and id of the window being activated. Can you please modify activateTopVisibleWindow accordingly?
#8 Updated by Sergey Ivanovskiy over 10 years ago
Ok, planning to fix it, but function doWindowActivationChange(deactivatingWindowId, activatingWindowId) doesn't work too.
#9 Updated by Hynek Cihlar over 10 years ago
Sergey Ivanovskiy wrote:
Ok, planning to fix it, but
function doWindowActivationChange(deactivatingWindowId, activatingWindowId)doesn't work too.
What is wrong there in particular?
#10 Updated by Sergey Ivanovskiy over 10 years ago
I divide this function into parts with comments. Please look at
function doWindowActivationChange(deactivatingWindowId, activatingWindowId)
{
// do we have a valid window being deactivated?
if (deactivatingWindowId != -1)
{
var win = getWindow(deactivatingWindowId);
if (!win.isVisible())
{
p2j.socket.sendWindowIconState(windowId, false);
}
}
The variable
win can be invalid window if deactivatingWindowId is -1.
// do we have a valid window being activated?
if (activatingWindowId != -1)
{
// de-iconify the window
win.deiconify();
}
// send the window activation to the java side
if (activatingWindowId != -1 || deactivatingWindowId != -1)
{
p2j.socket.sendWindowActivated(deactivatingWindowId, activatingWindowId);
}
}
Hynek, please correct me that now it is enough to send this message
sendWindowActivated one time for deactivating the old window and activating new one.#11 Updated by Hynek Cihlar over 10 years ago
Sergey Ivanovskiy wrote:
I divide this function into parts with comments. Please look at
[...]
The variablewincan be invalid window ifdeactivatingWindowIdis-1.
[...]
You are right the body of the second if statement is missing the following:
var win = getWindow(activatingWindowId);
I am glad you caught this.
Hynek, please correct me that now it is enough to send this message
sendWindowActivatedone time for deactivating the old window and activating new one.
Yes, this is exactly how it is supposed to work now. One message instead of two.
#12 Updated by Sergey Ivanovskiy over 10 years ago
Committed revision 11007 fixed doWindowActivationChange and activateTopVisibleWindow.
#13 Updated by Greg Shah over 10 years ago
Code Review Task Branch 1811u Revision 11007
The changes look fine to me. however the p2j.screen.js does need a history entry.
Hynek: are you OK with the change in activateTopVisibleWindow()?
#14 Updated by Sergey Ivanovskiy over 10 years ago
Now, I am doing the bug related to resizing in the web client. The window can be squeezed but can't be resized to widen its width and height. Should I create a new task or fix it within this task?
#15 Updated by Greg Shah over 10 years ago
- Target version set to Milestone 16
- Status changed from New to Closed
- % Done changed from 0 to 100
Please create a new task. I'm closing this one.
#16 Updated by Hynek Cihlar over 10 years ago
Greg Shah wrote:
Code Review Task Branch 1811u Revision 11007
The changes look fine to me. however the
p2j.screen.jsdoes need a history entry.Hynek: are you OK with the change in
activateTopVisibleWindow()?
The changes are OK.
#17 Updated by Greg Shah over 9 years ago
- Target version changed from Milestone 16 to Cleanup and Stabilization for GUI