Closed Bug 267403 Opened 20 years ago Closed 18 years ago

reload and stop toolbar buttons don't update until an event is posted to the run queue

Categories

(Camino Graveyard :: Toolbars & Menus, defect)

PowerPC
macOS
defect
Not set
minor

Tracking

(Not tracked)

VERIFIED FIXED
Camino1.5

People

(Reporter: paul, Assigned: nick.kreeger)

References

Details

(Keywords: fixed1.8.1)

Attachments

(1 file, 1 obsolete file)

2.41 KB, patch
bugzilla-graveyard
: review+
mozilla
: review+
mikepinkerton
: superreview+
Details | Diff | Splinter Review
User-Agent:       Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-gb; rv:1.8a5) Gecko/20041020 Camino/0.8+
Build Identifier: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-gb; rv:1.8a5) Gecko/20041020 Camino/0.8+

When a page is reloaded using the toolbar icon and the mouse is left hovering
the icons don't update (the stop and reload buttons don't swap state) if there
is no input.

Reproducible: Always
Steps to Reproduce:
1. Load up a page
2. Click the reload button with the mouse and then don't touch the mouse
3. Once the page is loaded the reload and stop buttons are not updated until the
mouse if moved.
Actual Results:  
The stop button remains active and the reload button inactive.

Expected Results:  
The stop button should become inactive and the reload button should become
active, allowing the user to again reload the page.

This is the same behaviour that was displayed in bug 231581
Confirming with 2004102808 (v0.8+), 10.3.5
Confirmed.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Target Milestone: --- → Camino1.0
Confirmed in 2004113008 (v0.8+), Mac OS X 10.3.6.

This bug is also reproduceable by using Command-R instead of clicking the reload
button.

This bug is also reproduceable by clicking on "Reload Page" in the "View" menu.
Still here in 2005032908 (v0.8+), Mac OS X 10.3.8
When the cursor is hovering anywhere over the toolbar (location field, search
field) when a page finishes loading, the stop button does not become inactive
and the reolad button doesn't become active.  It's any sort of page-load; it
doesn't have to be triggered by reload....
(In reply to comment #5)
> When the cursor is hovering anywhere over the toolbar (location field, search
> field) when a page finishes loading, the stop button does not become inactive
> and the reolad button doesn't become active.  It's any sort of page-load; it
> doesn't have to be triggered by reload....

This is not correct any more.  If the cursor is elsewhere on the page, the
buttons still don't update until the cursor moves.
*** Bug 302592 has been marked as a duplicate of this bug. ***
...boy this is annoying. time to vote.
Anyone (pink, Smokey, Simon, Wevah) have any idea why this might be happening?

cl
Yes; I think the toolbar only updates its items on mouse move. We're changing
state under the toolbar, so we probably need to call [NSToolbar
validateVisibleItems] or something.
This is definitely annoying, but as it stands, probably not 1.0 material.

Moving to 1.1.
Target Milestone: Camino1.0 → Camino1.1
*** Bug 326951 has been marked as a duplicate of this bug. ***
From Hendrix:

Name:    Rick
Product: Camino
Summary: validateVisibleItems

Comments:
You want this guy called whenever you do something in your run loop
(your methods) that changes the status of your toolbar buttons.

If you don't, the user will not see the changes until something else
enters the run loop. Such as a mouse move. This is not good.

The call is simple and takes no arguments. And I know it says you
shouldn't invoke it, but that's just plain 101% wrong.

-(void)validateVisibleItems

Called on window updates with the purpose of validating each of the
visible items. You use this method by overriding it in a subclass; you
should not invoke this method. The toolbar calls this method to iterate
through the list of visible items, sending each a validate message.
Override it and call super if you want to know when this happens. 
Whiteboard: [good first bug]
Taking
Assignee: mikepinkerton → nick.kreeger
Attached patch Proposed patch (obsolete) — Splinter Review
Since the toolbar validation does not take place in |validateVisibleItems:| in BWC, this is the simplest fix.
Attached patch Patch DeuceSplinter Review
After some further research, where we validate the refresh button, we check to see if the browser is busy, but that flag isn't set in BrowserWrapper until after the |setLoadingActive:| call is made.

This patch simply moves the |mIsBusy| boolean above the call to the browser window delegate with |setLoadingActive:|
Attachment #227713 - Attachment is obsolete: true
Attachment #227726 - Flags: review?(bugzilla)
Comment on attachment 227726 [details] [diff] [review]
Patch Deuce

r=me
Attachment #227726 - Flags: review?(bugzilla) → review+
Attachment #227726 - Flags: superreview?(mikepinkerton)
Attachment #227726 - Flags: review+
Updating summary.
Summary: reload button doesn't update when hovering → reload and stop toolbar buttons don't update until an event is posted to the run queue
Comment on attachment 227726 [details] [diff] [review]
Patch Deuce

sr=pink
Attachment #227726 - Flags: superreview?(mikepinkerton) → superreview+
Fixed trunk and branch.
Status: NEW → RESOLVED
Closed: 18 years ago
Keywords: fixed1.8.1
Resolution: --- → FIXED
Whiteboard: [good first bug]
V. fixed with latest trunk nightly.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: