Opened 14 years ago
Last modified 8 years ago
#7010 assigned bug
Showing a BView does not trigger appropriate update session when the resulting dirty region is already part of an update.
Reported by: | jscipione | Owned by: | stippi |
---|---|---|---|
Priority: | normal | Milestone: | R1 |
Component: | Servers/app_server | Version: | R1/Development |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description (last modified by )
This ticket used to be about a "bug" in DeskCalc, and a work around has been commited. The real issue has never been fixed and is a problem in app_server that can also be reproduced with ShowImage when removing similar work arounds there.
Since hrev40864 the following steps no longer work. Reverting the patch should make the problem reproducable again, but it has nothing to do with DeskCalc:
- Launch Deskcalc
- Right click and hold on the text input box, select 'Show Keypad' which will hide the keypad (since it is on by default).
- Right click and hold again on the text input box and select 'Show Keypad' again. This will show the keypad.
- Observe that the keypad is not fully drawn.
If you resize the window the keypad is then drawn, but you shouldn't have to resize the window to make the keypad draw.
Attachments (1)
Change History (11)
comment:1 by , 14 years ago
comment:2 by , 14 years ago
I just noticed and can confirm this myself. It may be a bug in the Interface Kit or app_server but I would keep digging in DeskCalc before looking in those places.
comment:3 by , 14 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Fixed in hrev40863.
Even tho the view had a FULL_REDRAW_ON_RESIZE flag, the view itself wasn't following the window, so wasn't resized, so not redrawn on resize.
by , 14 years ago
Attachment: | Screen shot 2011-03-07 at 8.22.36 PM.png added |
---|
Screenshot showing the the bug still exists in 40863
comment:4 by , 14 years ago
Tested this on 40863 and the bug still appears to exist. I looked at the commit and you just added an Invlidate() to the ShowKeypad() method. I wrote in a comment above (comment #1) that I already tried that and it didn't fix the bug. Am I missing something?
comment:5 by , 14 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
hmm, that's weird. I swear that I saw it working. O_o.. I suppose I clicked in the view by accident. I'll look further.
comment:6 by , 14 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Fixed in hrev40864. I doubled-checked :)
comment:8 by , 14 years ago
Component: | Applications/DeskCalc → Servers/app_server |
---|---|
Description: | modified (diff) |
Resolution: | fixed |
Status: | closed → reopened |
Summary: | When you select show keypad, Deskcalc doesn't draw the keypad → Showing a BView does not trigger appropriate update session when the resulting dirty region is already part of an update. |
comment:9 by , 14 years ago
Status: | reopened → assigned |
---|
comment:10 by , 8 years ago
Removed Invalidate() from CalcView::FrameResized() and restored B_FULL_UPDATE_ON_RESIZE to CalcView ctor on hrev51054 to see if Axel's changes had any effect. No change, DeskCalc still does not invalidate the keypad until the window is resized.
I tried adding Invalidate() the end of _ShowKeypad() in CalcView.cpp and that did not fix the bug so this is going to take a bit more work to nail down.