Closed
Bug 116306
Opened 23 years ago
Closed 22 years ago
Switching themes by switching profiles is broken
Categories
(Core Graveyard :: Skinability, defect, P2)
Tracking
(Not tracked)
RESOLVED
WORKSFORME
mozilla0.9.9
People
(Reporter: ccarlen, Assigned: ccarlen)
References
Details
(Whiteboard: [driver:brendan])
Attachments
(1 file, 1 obsolete file)
3.32 KB,
patch
|
dbaron
:
review+
bugzilla
:
superreview+
|
Details | Diff | Splinter Review |
Sometime between 2001121703 and 2001121803, this feature got completely broken. Steps To reproduce: (1) Have more than 1 profile, each with a different theme. (2) Turn turbo on in the preferences and exit. (3) Choose "Navigator" in the system tray and the profile picker will come up (4) Choose a profile with a different theme and click "Start" (5) The Navigator window that comes up has completely malformed chrome. Didn't some live theme switching code go in recently? Could this have wacked the theme switching which happens on a profile switch (which has worked for a long time)
Assignee | ||
Comment 1•23 years ago
|
||
Here is the check-in for theme switching that went in during that time: http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=all&branch=HEAD&branchtype=match&dir=&file=&filetype=match&who=hyatt%25netscape.com&whotype=match&sortby=Date&hours=2&date=explicit&mindate=12%2F17%2F2001&maxdate=12%2F18%2F2001&cvsroot=%2Fcvsroot Looking at all check-ins during that time, this seems most likely to have caused it. Hyatt - Can you look at this?
Updated•23 years ago
|
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla0.9.8
Updated•23 years ago
|
Status: NEW → ASSIGNED
Target Milestone: mozilla0.9.8 → mozilla0.9.9
I'd suggest mozilla0.9.8 for this one. It makes turbo mode pretty much useless.
*** Bug 120361 has been marked as a duplicate of this bug. ***
*** Bug 119553 has been marked as a duplicate of this bug. ***
Updated•23 years ago
|
Whiteboard: [driver:brendan]
Updated•23 years ago
|
Target Milestone: mozilla0.9.9 → mozilla0.9.8
Comment 7•23 years ago
|
||
So I was being bitten by something that was just never implemented, namely support for fetching stylesheets on a miss from the XUL cache (when the proto XUL doc was hit in the cache).
Comment 8•23 years ago
|
||
Ignore the XULElement patch. XULDocument is the only relevant file.
Updated•23 years ago
|
Whiteboard: [driver:brendan] → [driver:brendan] [Fix in hand. Need r/sr/a]
Comment on attachment 65766 [details] [diff] [review] Patch to handle a case that was missing. Aha! :) r=dbaron, except you could switch the logic to if (!IsChromeURI(uri)) continue; and avoid an extra indent.
Attachment #65766 -
Flags: review+
Comment 10•23 years ago
|
||
Comment on attachment 65766 [details] [diff] [review] Patch to handle a case that was missing. Aha! :) sr=blake
Attachment #65766 -
Flags: superreview+
Comment 11•23 years ago
|
||
Fixed.
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
Updated•23 years ago
|
Whiteboard: [driver:brendan] [Fix in hand. Need r/sr/a] → [driver:brendan]
Assignee | ||
Comment 12•23 years ago
|
||
Yay! It works again. Thanks.
Comment 13•23 years ago
|
||
Don't mix two-space indentation with four-space -- respect emporer Watersonus Maximus when in his Rome! a=brendan@mozilla.org retroactively. /be
Comment 14•23 years ago
|
||
Note: The checkin to this bug caused bug 121057 (Prefs panel "Advanced|Scripts & Windows" can only be visited once per session)
Comment 15•23 years ago
|
||
I see two files being patched in attachment 65766 [details] [diff] [review] but only 1 file with a checkin on the bonsai log. http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=MozillaTinderboxAll&branch=HEAD&branchtype=match&dir=&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=explicit&mindate=01%2F19%2F2002&maxdate=01%2F20%2F2002&cvsroot=%2Fcvsroot http://bonsai.mozilla.org/cvslog.cgi?file=mozilla/content/xul/content/src/nsXULElement.cpp shows no checkin to that file which this patch also has changes for. Looks like a botched checkin? Reopening this bug.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Comment 16•23 years ago
|
||
Err, I guess I missed comment #8 which nullifies the XULElement part of the patch. Sorry about my last comment. I'll leave this open though as it did cause a regression.
Assignee | ||
Comment 17•23 years ago
|
||
I spoke too soon that it worked. While the chrome that opens after switching the profile is not mangled anymore, it's not the right skin. Check out the stack trace: nsChromeRegistry::LoadProfileDataSource() line 2853 nsChromeRegistry::ConvertChromeURL(nsChromeRegistry * const 0x004c7cf0, nsIURI * 0x033ae480, char * * 0x033ae3f0) line 524 + 8 bytes nsChromeProtocolHandler::NewChannel(nsChromeProtocolHandler * const 0x004c1c50, nsIURI * 0x033ae480, nsIChannel * * 0x0012c298) line 619 + 63 bytes nsIOService::NewChannelFromURI(nsIOService * const 0x004b33d0, nsIURI * 0x033ae480, nsIChannel * * 0x0012c298) line 794 + 31 bytes NS_OpenURI(nsIChannel * * 0x0012c2d8, nsIURI * 0x033ae480, nsIIOService * 0x004b33d0, nsILoadGroup * 0x00000000, nsIInterfaceRequestor * 0x00000000, unsigned int 0) line 148 + 20 bytes NS_OpenURI(nsIInputStream * * 0x0012c428, nsIURI * 0x033ae480, nsIIOService * 0x00000000, nsILoadGroup * 0x00000000, nsIInterfaceRequestor * 0x00000000, unsigned int 0) line 186 + 49 bytes CSSLoaderImpl::LoadAgentSheet(CSSLoaderImpl * const 0x033ae6a0, nsIURI * 0x03ddd320, nsICSSStyleSheet * & 0x00000000, int & 65, nsICSSLoaderObserver * 0x00000000) line 1598 + 21 bytes nsXBLPrototypeResources::FlushSkinSheets() line 140 + 62 bytes nsXBLPrototypeBinding::FlushSkinSheets(nsXBLPrototypeBinding * const 0x03dda2f0) line 431 + 11 bytes FlushScopedSkinSheets(nsHashKey * 0x03dda120, void * 0x03dda2f0, void * 0x00000000) line 383 _hashEnumerate(PLHashEntry * 0x03dda0e0, int 3, void * 0x0012c54c) line 198 + 26 bytes PL_HashTableEnumerateEntries(PLHashTable * 0x03dda218, int (PLHashEntry *, int, void *)* 0x1002cbf0 _hashEnumerate(PLHashEntry *, int, void *), void * 0x0012c54c) line 429 + 15 bytes nsHashtable::Enumerate(int (nsHashKey *, void *, void *)* 0x01e1a340 FlushScopedSkinSheets(nsHashKey *, void *, void *), void * 0x00000000) line 361 + 21 bytes nsSupportsHashtable::Enumerate(int (nsHashKey *, void *, void *)* 0x01e1a340 FlushScopedSkinSheets(nsHashKey *, void *, void *), void * 0x00000000) line 190 nsXBLDocumentInfo::FlushSkinStylesheets(nsXBLDocumentInfo * const 0x03ddd4e0) line 391 FlushScopedSkinStylesheets(nsHashKey * 0x03dc20f0, void * 0x03ddd4e0, void * 0x00000000) line 399 _hashEnumerate(PLHashEntry * 0x03dc1c70, int 0, void * 0x0012c5ec) line 198 + 26 bytes PL_HashTableEnumerateEntries(PLHashTable * 0x005093c8, int (PLHashEntry *, int, void *)* 0x1002cbf0 _hashEnumerate(PLHashEntry *, int, void *), void * 0x0012c5ec) line 429 + 15 bytes nsHashtable::Enumerate(int (nsHashKey *, void *, void *)* 0x01da9360 FlushScopedSkinStylesheets(nsHashKey *, void *, void *), void * 0x00000000) line 361 + 21 bytes nsSupportsHashtable::Enumerate(int (nsHashKey *, void *, void *)* 0x01da9360 FlushScopedSkinStylesheets(nsHashKey *, void *, void *), void * 0x00000000) line 190 nsXULPrototypeCache::FlushSkinFiles(nsXULPrototypeCache * const 0x00509330) line 422 nsChromeRegistry::FlushCaches() line 1180 nsChromeRegistry::Observe(nsChromeRegistry * const 0x004c7cf4, nsISupports * 0x004b3cd0, const char * 0x0178c918, const unsigned short * 0x0178c8ac) line 3194 nsChromeRegistry::Observe is being called for "profile-before-change" when the profile is going away and so it calls FlushCaches. Notice that this causes a chrome load and we end up re-loading the profile data even though we're in the middle of unloading it. Next time around, on getting a "profile-after-change" nothing happens because mProfileInitialized is now true.
Comment 18•23 years ago
|
||
hyatt says it seems as though the flush shouldn't happen until UI is gone, but hyatt isn't around for the rest of today and for much of tomorrow -- conrad, can you attempt a fix for 0.9.8? /be
Comment 19•23 years ago
|
||
Could the flushing call be moved to after-change? I don't really want to have to split up the function into a "Flush" and a "Reload", since I'd do two crawls of open UI window trees.
Assignee | ||
Comment 20•23 years ago
|
||
> Could the flushing call be moved to after-change?
Actually, the call to FlushCaches() from Observe("profile-before-change") can
just be done away with. FlushCaches() is going to be called by the next
LoadProfileDataSource() anyway. Just tried it and it appears to work. A little
more testing...
Assignee | ||
Comment 21•23 years ago
|
||
This seems to do it.
Assignee | ||
Comment 22•23 years ago
|
||
need r=/sr=/a=
Comment 23•23 years ago
|
||
Comment on attachment 66112 [details] [diff] [review] Removes unneeded call to FlushCaches() r/sr=brendan@mozilla.org, hyatt, can you review also? /be
Attachment #66112 -
Flags: superreview+
Comment 24•23 years ago
|
||
r=hyatt
Comment 25•23 years ago
|
||
Comment on attachment 66112 [details] [diff] [review] Removes unneeded call to FlushCaches() Recording hyatt's review and adding a=brendan@mozilla.org for checkin to the 0.9.8 branch. /be
Attachment #66112 -
Flags: review+
Attachment #66112 -
Flags: approval+
Updated•23 years ago
|
Keywords: mozilla0.9.8+
Assignee | ||
Comment 26•23 years ago
|
||
Checked into trunk - will check into branch ASAP.
Assignee | ||
Comment 27•23 years ago
|
||
Checked into 0.9.8
Status: REOPENED → RESOLVED
Closed: 23 years ago → 23 years ago
Resolution: --- → FIXED
Comment 28•23 years ago
|
||
a long shot.. but can this have caused bug 121860?
Assignee | ||
Comment 29•23 years ago
|
||
No, the line of code removed by the latest checkin only would have been executed when a profile is shutdown during a profile switch. That currently only happens with turbo mode and not with changing themes via prefs or the view menu.
Comment 30•23 years ago
|
||
I'm still seeing weird behavior with build 2002012506 I have 3 profiles, each with their own theme, I am getting duplicate buttons on my browser- two completely different print icons. Also on the launch of second profile, activation comes up with blank screen and option to save the activation.xul file??? not sure if that is related but no activation screens can be seen
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Assignee | ||
Comment 31•23 years ago
|
||
Have to check this with commercial and its activation window. On my current mozilla build, it's working fine.
Comment 32•23 years ago
|
||
removing keyword since the fix for this has landed on the 0.9.8 branch
Keywords: mozilla0.9.8+
Comment 33•23 years ago
|
||
see also bug 11920 in bugscape for activation activity at one point on XP testing- I had 3 profiles, 3 themes and could not launch app- error as no xbl binding. I had to clean all profiles and start over
Comment 34•23 years ago
|
||
Grace, what platform, is that windows 98?
Comment 35•23 years ago
|
||
NT and XP
Assignee | ||
Comment 37•23 years ago
|
||
Grace, Can you check this with mozilla, not commercial? I'd like to separate out the activation window problems.
Comment 38•23 years ago
|
||
nsbeta1+ per Nav triage team, but Dave needs to check for possible dup.
Comment 39•23 years ago
|
||
tested mozilla 3 profiles - 3 themes (downloaded eskimo to try) I did not see any weirdness in chrome except after using profile with specific theme, next time ProfileManager comes up, it has that theme I thought mozilla PM always came up classic...but I may be wrong. Regular turbo tests passed
Assignee | ||
Comment 40•23 years ago
|
||
Grace: Thanks, knowing that this happens only in commercial helps narrow it down a bit. > next time ProfileManager comes up, it has that theme > I thought mozilla PM always came up classic...but I may be wrong. It will use the theme that was in use last. See bug 99387 for why.
Comment 42•23 years ago
|
||
Comment on attachment 66112 [details] [diff] [review] Removes unneeded call to FlushCaches() obsoleting old patch.
Attachment #66112 -
Attachment is obsolete: true
Comment 43•23 years ago
|
||
I couldn't reproduce this one on my windows 2k (branch build: 2002-05-29-08-1.0.0). Grace, are you able to reproduce this in the recent build?
Comment 44•23 years ago
|
||
I tested again today and cannot reproduce either
Comment 45•22 years ago
|
||
If no one can reproduce this, can you mark it Worksforme. sspitzer fixed a theme related bug where you could get in a state where the theme was a mixture of modern and classic. He fixed this sometime in April so perhaps that fixed this bug.
Comment 46•22 years ago
|
||
This bug seems to rely on multiple profiles and Quick Launch, a combination not supported in recent releases.
Comment 47•22 years ago
|
||
marking nsbeta1- for Mach V per ADT.
Comment 48•22 years ago
|
||
Recent changes in the QuickLaunch model have obviated all other related multi-profile bugs, please retest this with the pref "browser.turbo.singleProfileOnly" set to false.
Comment 49•22 years ago
|
||
marking worksforme Have not seen on builds for a long time- retested this morning with branch build and turbo pref set appropriately for using multiple profiles
Status: NEW → RESOLVED
Closed: 23 years ago → 22 years ago
Resolution: --- → WORKSFORME
Updated•16 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•