This is a regression from bug 355971. /Users/josh/src/mozilla/ff_cocoa_debug/mozilla/widget/src/cocoa/nsChildView.mm:1894: warning: '-isComposing' not found in protocol(s)
Created attachment 243622 [details] [diff] [review] fix v1.0 masayuki - do you know of a way to fix your bug without having to do this? If not, that is OK.
Attachment #243622 - Flags: review?(masayuki)
Can more than one view be in composition mode at the same time? If not, why not make it a class method of ChildView, store the state in a static boolean, and just call [ChildView isComposing]? If you add the method to the protocol, you need to add it to nsNativeScrollbar and Camino as well.
Another idea, if this method only really makes sense on ChildView (and not nsNativeScrollbar or random custom views implementing mozView), would be to use respondsToSelector:@selector(isComposing) instead, and make it a informal protocol method.
Comment on attachment 243622 [details] [diff] [review] fix v1.0 (In reply to comment #2) > Can more than one view be in composition mode at the same time? > > If not, why not make it a class method of ChildView, store the state in a > static boolean, and just call [ChildView isComposing]? The current trunk code (especially in nsIMEStateManager) assumes that there is only one transaction on Gecko. Because if focus is changing in Gecko, the last IME transaction is committed by nsIKBStateControl::ResetInputState. I think that the ResetInputState is working fine, the idea of changing to static is good. But the ResetInputState doesn't work fine, now.(I confirmed that on 10.4) Of course, we should fix it before 1.9 final. Therefore, I think that this is enough now.
Attachment #243622 - Flags: review?(masayuki) → review+
FYI: We discussed to implement of nsIKBStateControl on Cocoa in Bugzilla-jp. We may have a chance of changing to static variable before 1.9 final.
I really think it's better to have it as an informal protocol method, rather than explicitly adding it to the mozView @protocol, even short-term. Think of a protocol as an interface, you shouldn't lightly add methods that are going to be removed soon.
this bug will be fixed by bug 358899. the members are removed by the patch. (they will be static.)
Assignee: joshmoz → masayuki
Depends on: 358899
-> FIXED by bug 358899
Status: NEW → RESOLVED
Last Resolved: 12 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.