Closed Bug 32712 Opened 25 years ago Closed 25 years ago

Can't paste into Composer without explicitly setting focus

Categories

(SeaMonkey :: UI Design, defect, P1)

defect

Tracking

(Not tracked)

VERIFIED WORKSFORME

People

(Reporter: elig, Assigned: saari)

References

Details

* TITLE/SUMMARY Can't paste into Composer without explicitly setting focus * STEPS TO REPRODUCE 0) Launch Seamonkey 1) Copy any plain text (whether within Seamonkey or within another Mac app is fine) 2) From the Tasks menu, select "Composer" 3) From the Edit menu, select "Paste" (or use the keyboard shortcut) * RESULT - What happened The caret is blinking, but the "Paste" menu item is disabled. Correspondingly, nothing is pasted. ;) Per Mike Judge, the focus is actually set in the toolbar, rather than in the content region. However, typing directly into the text field works fine without explicitly setting focus beforehand. - What was expected Focus shouldn't be explicitly required to paste text. * REGRESSION - Occurs On Mac OS, Linux & Win32 Seamonkey (3.21.00 AM optimized commercial branch build) - Doesn't Occur On Mac OS Composer 4.72 * CONFIGURATIONS TESTED - [Mac] Beige Power Mac G3 (266 MHz PowerPC 750), 96 MB RAM (VM on; 1 MB of VM used), 1024x768 (Thousands of Colors), Mac OS 8.6 - [Win32] Vectra VL (233 MHz P2), 96 MB RAM, 800x600 (True Color), NT 4.0 SP5. - [Linux] Vectra VL (266 MHz P2), 96 MB RAM. Red Hat Linux 6.0 (GNOME).
QA Assigning to self.
QA Contact: paulmac → elig
Target Milestone: ---
Cc'ing Simon for command updating stuff.
Oops. Actually, using the Mac OS beta branch (and 3.21.00 Mac OS Mozilla trunk build), this works if you use the keyboard shortcut to the disabled menu item --- but doesn't work correctly if you select the (disabled) menu item by mouse.
I think this is the same command updating issue again. Changing focus causes the Paste menu item to be udpate, y'see. Duping. *** This bug has been marked as a duplicate of 32170 ***
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → DUPLICATE
Marking as dependent upon 32170, nyah, nyah, nyah... (per discussion with sfraser)
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
Depends on: 32170
Status: REOPENED → ASSIGNED
Priority: P3 → P1
Target Milestone: --- → M15
This works fine on my new Mac build from this evening. I'll have to try the other platforms tomorrow.
My windows build does not have a caret blinking in the composer window when I bring it up.
darn, I can repro. on linux. :-P
Mass-moving most M15 bugs to M16
Target Milestone: M15 → M16
Still works on MacOS. On Win32 I now get an assert that DocumentViewerImpl::Paste is not implemented. nsDebug::Assertion(const char * 0x01e17398, const char * 0x01e17394, const char * 0x01e1735c, int 1148) line 191 + 13 bytes DocumentViewerImpl::Paste(DocumentViewerImpl * const 0x030a00c4) line 1148 + 35 bytes nsDOMWindowController::DoCommand(nsDOMWindowController * const 0x033befe0, const unsigned short * 0x0283a910) line 4236 + 32 bytes XPTC_InvokeByIndex(nsISupports * 0x033befe0, unsigned int 5, unsigned int 1, nsXPTCVariant * 0x0012d068) line 139 nsXPCWrappedNativeClass::CallWrappedMethod(JSContext * 0x03056950, nsXPCWrappedNative * 0x033ac500, const XPCNativeMemberDescriptor * 0x033ac59c, nsXPCWrappedNativeClass::CallMode CALL_METHOD, unsigned int 1, long * 0x02236e4c, long * 0x0012d218) line 898 + 43 bytes WrappedNative_CallMethod(JSContext * 0x03056950, JSObject * 0x02319ba8, unsigned int 1, long * 0x02236e4c, long * 0x0012d218) line 200 + 34 bytes js_Invoke(JSContext * 0x03056950, unsigned int 1, unsigned int 0) line 686 + 23 bytes js_Interpret(JSContext * 0x03056950, long * 0x0012db48) line 2464 + 15 bytes js_Invoke(JSContext * 0x03056950, unsigned int 1, unsigned int 2) line 702 + 13 bytes js_InternalInvoke(JSContext * 0x03056950, JSObject * 0x0233d828, long 36952112, unsigned int 0, unsigned int 1, long * 0x0012dcd8, long * 0x0012dc80) line 775 + 19 bytes JS_CallFunctionValue(JSContext * 0x03056950, JSObject * 0x0233d828, long 36952112, unsigned int 1, long * 0x0012dcd8, long * 0x0012dc80) line 2794 + 31 bytes nsJSContext::CallEventHandler(nsJSContext * const 0x02fdfed0, void * 0x0233d828, void * 0x0233d830, unsigned int 1, void * 0x0012dcd8, int * 0x0012dcd4) line 730 + 33 bytes nsJSEventListener::HandleEvent(nsIDOMEvent * 0x035abe90) line 140 + 57 bytes nsXULKeyListenerImpl::HandleEventUsingKeyset(nsXULKeyListenerImpl * const 0x031b0260, nsIDOMElement * 0x035a5720, nsIDOMKeyEvent * 0x035abe90, eEventType eKeyPress, nsIDOMXULDocument * 0x034af40c, int & 1) line 1552 nsXULKeyListenerImpl::LocateAndExecuteKeyBinding(nsXULKeyListenerImpl * const 0x031b0260, nsIDOMKeyEvent * 0x035abe90, eEventType eKeyPress, nsIDOMXULDocument * 0x034af40c, int & 1) line 1234 + 37 bytes nsXULKeyListenerImpl::DoKey(nsIDOMEvent * 0x035abe94, eEventType eKeyPress) line 562 nsXULKeyListenerImpl::KeyPress(nsIDOMEvent * 0x035abe94) line 473 nsEventListenerManager::HandleEvent(nsIPresContext * 0x030a2b50, nsEvent * 0x0012fab8, nsIDOMEvent * * 0x0012f86c, unsigned int 2, nsEventStatus * 0x0012fa20) line 1022 + 17 bytes nsXULDocument::HandleDOMEvent(nsXULDocument * const 0x030a0620, nsIPresContext * 0x030a2b50, nsEvent * 0x0012fab8, nsIDOMEvent * * 0x0012f86c, unsigned int 2, nsEventStatus * 0x0012fa20) line 1967 nsXULElement::HandleDOMEvent(nsXULElement * const 0x0312cac0, nsIPresContext * 0x030a2b50, nsEvent * 0x0012fab8, nsIDOMEvent * * 0x0012f86c, unsigned int 2, nsEventStatus * 0x0012fa20) line 3325 + 39 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x031b72f0, nsIPresContext * 0x030a2b50, nsEvent * 0x0012fab8, nsIDOMEvent * * 0x0012f86c, unsigned int 2, nsEventStatus * 0x0012fa20) line 3319 + 39 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x031b8f90, nsIPresContext * 0x030a2b50, nsEvent * 0x0012fab8, nsIDOMEvent * * 0x0012f86c, unsigned int 2, nsEventStatus * 0x0012fa20) line 3319 + 39 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x031b8df0, nsIPresContext * 0x030a2b50, nsEvent * 0x0012fab8, nsIDOMEvent * * 0x0012f86c, unsigned int 1, nsEventStatus * 0x0012fa20) line 3319 + 39 bytes PresShell::HandleEvent(PresShell * const 0x030a3c64, nsIView * 0x0337b450, nsGUIEvent * 0x0012fab8, nsEventStatus * 0x0012fa20, int & 1) line 3448 + 39 bytes nsView::HandleEvent(nsView * const 0x0337b450, nsGUIEvent * 0x0012fab8, unsigned int 8, nsEventStatus * 0x0012fa20, int & 1) line 811 nsView::HandleEvent(nsView * const 0x030a2260, nsGUIEvent * 0x0012fab8, unsigned int 28, nsEventStatus * 0x0012fa20, int & 1) line 784 nsViewManager2::DispatchEvent(nsViewManager2 * const 0x030a2440, nsGUIEvent * 0x0012fab8, nsEventStatus * 0x0012fa20) line 1354 HandleEvent(nsGUIEvent * 0x0012fab8) line 69 nsWindow::DispatchEvent(nsWindow * const 0x0337b324, nsGUIEvent * 0x0012fab8, nsEventStatus & nsEventStatus_eIgnore) line 498 + 10 bytes nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012fab8) line 519 nsWindow::DispatchKeyEvent(unsigned int 131, unsigned short 118, unsigned int 0) line 1917 + 15 bytes nsWindow::OnChar(unsigned int 22, unsigned int 0, unsigned char 0) line 2023 nsWindow::ProcessMessage(unsigned int 258, unsigned int 22, long 3080193, long * 0x0012fd94) line 2214 + 33 bytes nsWindow::WindowProc(HWND__ * 0x007e00f8, unsigned int 258, unsigned int 22, long 3080193) line 676 + 27 bytes USER32! 77e71250() js_Interpret(JSContext *, long *) line 3267 + 25 bytes
Focus no longer appears to be in the compose window at all on Win32 when you first open the window. I cannot type there or paste without clicking in the compose area. I'm not seeing a cursor either. Where are you guys trying to set focus for the compose window? I need to figure out why it seems to work on MacOS, but not Windows.
Hrm, this works on linux now too.
nominating for nsbeta2
Keywords: nsbeta2
And now, it works on Windows too. Marking works for me, with the half expectation that it will break again at some point.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago25 years ago
Resolution: --- → WORKSFORME
Keywords: verifyme
Verified on 2000071308 on Linux
Status: RESOLVED → VERIFIED
Keywords: verifyme
Product: Core → Mozilla Application Suite
You need to log in before you can comment on or make changes to this bug.