Bug #2763
Bug #2677: fix drawing and functional differences between P2J GUI and 4GL GUI
3D drawing of window borders is regressed in 1811s revision 10994
100%
History
#1 Updated by Greg Shah over 8 years ago
After rebase to trunk 10948 (the new dialog box support), 1811s (revision 10994) shows a regression where the 3D border of windows is no longer being drawn properly.
#2 Updated by Greg Shah over 8 years ago
Interestingly, this affect only seems to occur while tinyInput()
is running. But it causes both the dialog box and the owning window's border to be drawn without 3D effects.
Once you dismiss the dialog, the main window draws its 3D border again.
If you run a testcase that doesn't have a dialog, then the 3D border is drawn fine (e.g. hello.p
).
#3 Updated by Hynek Cihlar over 8 years ago
Greg Shah wrote:
Interestingly, this affect only seems to occur while
tinyInput()
is running. But it causes both the dialog box and the owning window's border to be drawn without 3D effects.Once you dismiss the dialog, the main window draws its 3D border again.
If you run a testcase that doesn't have a dialog, then the 3D border is drawn fine (e.g.
hello.p
).
I will look at this. Btw. 3D border should be drawn in DIALOG-BOX and ALERT-BOX.
#4 Updated by Hynek Cihlar over 8 years ago
Eugenie, WindowGuiImpl.draw()
calls super.draw()
twice. First before drawBorder()
and second time after @drawBorder().This causes the border to be redrawn and the 3D visuals drawn over. Can you please confirm the two calls to super were not intentional?
#5 Updated by Constantin Asofiei over 8 years ago
Hynek Cihlar wrote:
Eugenie,
WindowGuiImpl.draw()
callssuper.draw()
twice. First beforedrawBorder()
and second time after @drawBorder().This causes the border to be redrawn and the 3D visuals drawn over. Can you please confirm the two calls to super were not intentional?
I think this is a rebase merge issue: super.draw()
needs to be called after drawBorder()
.
#6 Updated by Hynek Cihlar over 8 years ago
Constantin Asofiei wrote:
Hynek Cihlar wrote:
Eugenie,
WindowGuiImpl.draw()
callssuper.draw()
twice. First beforedrawBorder()
and second time after @drawBorder().This causes the border to be redrawn and the 3D visuals drawn over. Can you please confirm the two calls to super were not intentional?I think this is a rebase merge issue:
super.draw()
needs to be called afterdrawBorder()
.
It should be called before or else the 3D border would be drawn over.
#7 Updated by Eugenie Lyzenko over 8 years ago
Constantin Asofiei wrote:
Hynek Cihlar wrote:
Eugenie,
WindowGuiImpl.draw()
callssuper.draw()
twice. First beforedrawBorder()
and second time after @drawBorder().This causes the border to be redrawn and the 3D visuals drawn over. Can you please confirm the two calls to super were not intentional?I think this is a rebase merge issue:
super.draw()
needs to be called afterdrawBorder()
.
I have no idea why this code is so weird now. And I'm not sure this came from rebase, may be something happens between:
... ** 046 HC 20151013 Changes to extend GUI multi-window focus management and ACTIVE-WINDOW system ** handle processing to modal windows. ** 047 CA 20151015 Fixed window resize via attributes (they target the workspace, not the full ** window). ...
I have working copy before 047
with proper version of this class so I'm telling for sure.
So I confirm to have no intention from my side to make this change for any purpose. This looks really strange because if border overlaps super.draw()
why to ovelap the border again?
#8 Updated by Eugenie Lyzenko over 8 years ago
Hynek Cihlar wrote:
Constantin Asofiei wrote:
It should be called before or else the 3D border would be drawn over.
I think the sequence is important if the calls have intersections. If so the super.draw()
is the first, the border - second.
#9 Updated by Hynek Cihlar over 8 years ago
1811s revision 11004 fixes the disappearing 3D border. It also adds 3D border to ALERT-BOX and DIALOG-BOX.
#10 Updated by Hynek Cihlar over 8 years ago
- % Done changed from 0 to 100
#11 Updated by Greg Shah over 8 years ago
There is one regression caused by 11004. Try simpler_alert_box.p
and after selecting one of the buttons, try to dismiss the main window that is waiting at a "Procedure complete. Press space bar to continue." prompt. It doesn't work. In fact, you have to kill the client forcibly to get rid of it.
This same feature works fine if you don't bring up an alert-box.
#12 Updated by Hynek Cihlar over 8 years ago
Greg Shah wrote:
There is one regression caused by 11004. Try
simpler_alert_box.p
and after selecting one of the buttons, try to dismiss the main window that is waiting at a "Procedure complete. Press space bar to continue." prompt. It doesn't work. In fact, you have to kill the client forcibly to get rid of it.This same feature works fine if you don't bring up an alert-box.
This is due a regression which broke event processing in alert-box, solved in #2770.
#13 Updated by Hynek Cihlar over 8 years ago
Hynek Cihlar wrote:
Greg Shah wrote:
There is one regression caused by 11004. Try
simpler_alert_box.p
and after selecting one of the buttons, try to dismiss the main window that is waiting at a "Procedure complete. Press space bar to continue." prompt. It doesn't work. In fact, you have to kill the client forcibly to get rid of it.This same feature works fine if you don't bring up an alert-box.
This is due a regression which broke event processing in alert-box, solved in #2770.
I meant being solved in #2770.
#14 Updated by Greg Shah over 8 years ago
- Status changed from New to Closed
#15 Updated by Greg Shah over 7 years ago
- Target version changed from Milestone 12 to GUI Support for a Complex ADM2 App