Closed Bug 357153 Opened 18 years ago Closed 18 years ago

In eMail composer some menus are "SomeMenuItem"

Categories

(Core :: Widget: Cocoa, defect)

PowerPC
macOS
defect
Not set
major

Tracking

()

RESOLVED FIXED

People

(Reporter: georg, Assigned: jaas)

References

Details

(Keywords: regression)

Attachments

(2 files, 2 obsolete files)

User-Agent:       Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.9a1) Gecko/20061016 SeaMonkey/1.5a
Build Identifier: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.9a1) Gecko/20061016 SeaMonkey/1.5a

When composing a new eMail the menus INSERT and FORMAT use "SomeMenuItem" as menu title instead if "Insert" and "Format"

Reproducible: Always

Steps to Reproduce:
It happens at least after click into the email body
See screenshot
Any extensions installed? Can you track this down to when it first started to appear?
I did not install any extension to this SeaMonkey. I just loaded down the nighly build from 16.10.2006 and started the application inside the disk image. Then I got that result.

But in earlier versions og SeaMonkey I installed the livehttpheaders-0.12.xpi, which seems to be a corrupted installation, because it never worked, but I did not find any of the files /Mozilla/Component/compreg.dat nor /Mozilla/Component/xpti.dat. They probably have a different name or location on the Mac. So I could not delete them.

In earlier versions I also installed the German spellchecker, which works with Mozilla, but does not work (it is never listed in the menu of dictionaries) in SeaMonkey. On Windows I do not have any such problems with the spell checker.
(In reply to comment #3)
> I did not install any extension to this SeaMonkey. I just loaded down the
> nighly build from 16.10.2006 and started the application inside the disk image.
> Then I got that result.
> 
> But in earlier versions og SeaMonkey I installed the livehttpheaders-0.12.xpi,
> which seems to be a corrupted installation, because it never worked, but I did
> not find any of the files /Mozilla/Component/compreg.dat nor
> /Mozilla/Component/xpti.dat. They probably have a different name or location on
> the Mac. So I could not delete them.
> 
> In earlier versions I also installed the German spellchecker, which works with
> Mozilla, but does not work (it is never listed in the menu of dictionaries) in
> SeaMonkey. On Windows I do not have any such problems with the spell checker.
> 

Do you still see the issue if you create a new, fresh profile?
(In reply to comment #4)

> Do you still see the issue if you create a new, fresh profile?

I testet this now. The answer is: Yes. Same problem for the menu with the new created profile. 

The Headers tab is dammeged in the page info, without installing that extension to this SeaMonkey. This seems to be in the global profile. 
It reproduces. 

Mac OS X 10.3.9
Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.9a1) Gecko/20061020 SeaMonkey/1.5a
Status: UNCONFIRMED → NEW
Ever confirmed: true
The name of a menu("Insert" and "Format") the correct between a few seconds is displayed. 
And They change into "SomeMenuItem". 
The menu that changes into "SomeMenuItem" is insensitive. 
Trunk Thunderbird reproduces too...
Component: General → XP Toolkit/Widgets: Menus
Product: Mozilla Application Suite → Core
Version: unspecified → Trunk
(In reply to comment #8)
> Trunk Thunderbird reproduces too...
> 

Yeah, I see this too now. The menus are there and seem to work (they're only disabled if you don't have focus in the message area). As Hiro says, original menu titles are displaying for a half sec or so - then they switch to "SomeMenuItem". Looks like they come from nsMenuBarX.mm (placeholders). I wonder when this regressed?
Keywords: regression
*** Bug 357521 has been marked as a duplicate of this bug. ***
Regression window:

2006-10-10-06 (Thunderbird & SeaMonkey) --> OK

2006-10-11-04 (Tb) --> Broken (the SeaMonkey build is 2 hours older and also broken, of course)

In a build without the issue, the Insert and Format menus are not disabled when you open the msg compose window. Also, all menuitems are shown as "enabled". That is, they should be disabled - when you open the window, focus is in the address field and none of the menuitems work.

When you open the msg compose window in a build after Oct 10, the Insert and Format menu labels are shown briefly (enabled), then they're substituted with the disabled placeholders.

I guess this is a fall-out from bug 356078.
Blocks: 356078
--> cocoa (should probably be handled there)
Assignee: general → joshmoz
Component: XP Toolkit/Widgets: Menus → Widget: Cocoa
QA Contact: general → cocoa
In Firefox, if the customizing seat of the toolbar is shut, all menus become "SomeMenuItem". 
Attached patch fix v1.0 (obsolete) — Splinter Review
This code isn't really necessary and it causes this problem. Whether or not the submenu item is enabled only matters when the menu is showing, and that is take care of when the menu is constructed.
Attachment #244300 - Flags: review?(hwaara)
Is that fix already available inside a nighly build for testing?
No, it won't be in a nightly build until about 24 hours after this bug is marked as "FIXED".
(In reply to comment #14)
> Created an attachment (id=244300) [edit]
> fix v1.0
> 
> This code isn't really necessary and it causes this problem. Whether or not the
> submenu item is enabled only matters when the menu is showing, and that is take
> care of when the menu is constructed.

Josh, you sure you posted the right patch?
Attached patch fix v1.0 (for real!) (obsolete) — Splinter Review
Oops, that was the wrong patch. Here is the right one.
Attachment #244300 - Attachment is obsolete: true
Attachment #244340 - Flags: review?(hwaara)
Attachment #244300 - Flags: review?(hwaara)
Comment on attachment 244340 [details] [diff] [review]
fix v1.0 (for real!)

Now that you rely on the behavior, I think you need to ensure the menu is always rebuilt and set mNeedsRebuild to true too (maybe in this case you were lucky, and someone else did for you?), see http://landfill.mozilla.org/mxr-test/mozilla/source/widget/src/cocoa/nsMenuX.mm#411 and other places where this is significant.
Attachment #244340 - Flags: review?(hwaara) → review-
I don't think any dependencies are different here - we rebuild any time an attribute (including disabled state) changes, and we also rebuild when we are based on a new DOM node, and there really isn't anywhere else we need to do it that I know of. Did you have something specific in mind? Maybe see nsMenuX::AttributeChanged.
(In reply to comment #20)
> I don't think any dependencies are different here - we rebuild any time an
> attribute (including disabled state) changes, and we also rebuild when we are
> based on a new DOM node, and there really isn't anywhere else we need to do it
> that I know of. Did you have something specific in mind? Maybe see
> nsMenuX::AttributeChanged.

Sorry, I'll explain myself better.

What I meant is, since SetEnabled() now does nothing on runtime (whereas it used to try and disable existing items), and relies on the rebuild, it would be nice to be explicit about this assumption for safety, and do something like:

SetEnabled(PRBool aEnable) 
{
 if (aEnable != mEnabled) {
   // this call will have no effect without rebuilding, so why not be explicit about it?
   SetRebuild(PR_TRUE); 
   mEnabled = aEnable;
 }
 return NS_OK;
}

As you point out, SetRebuild() is already called shortly before SetEnabled() from AttributeChanged(), but what if someone else uses SetEnabled() later and forgets about it?  I just prefer making assumptions explicit, in general... What do you think?
Attached patch fix v1.1Splinter Review
Attachment #244340 - Attachment is obsolete: true
Attachment #244418 - Flags: review?(hwaara)
Attachment #244418 - Flags: review?(hwaara) → review+
fixed on trunk
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
*** Bug 358444 has been marked as a duplicate of this bug. ***
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: