Closed Bug 315726 Opened 15 years ago Closed 14 years ago

[BeOS]Avoid mistargeted (focus) messages

Categories

(Core Graveyard :: Widget: BeOS, defect)

x86
BeOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: sergei_d, Assigned: sergei_d)

References

Details

(Keywords: fixed1.8.1)

Attachments

(2 files, 1 obsolete file)

there is quite frequent case especially in destroy process for focus and draw(but not only),
that message sent from BView reaches widget with missing mView (or maybe even different mView??).

While for drawing it may cause minor issues only, for focus events it is more than important - as most of those messages are related to create/destroy process.

In this case we must rather drop those messages than dispatch it to mozilla.

Also i think there is reasonable to send GOTFOCUS message directly from nsWindow::SetFocus, while LOSTFOCUS may remain in CallMethod, but with added target check.
Attached patch patchSplinter Review
works definitely  better with search box and when creating new tabs.

review request
Attachment #202538 - Flags: review?(thesuckiestemail)
Comment on attachment 202538 [details] [diff] [review]
patch

r=thesuckiestemail@yahoo.se
Attachment #202538 - Flags: review?(thesuckiestemail) → review+
Laned in trunk
Checking in mozilla/widget/src/beos/nsWindow.cpp;
/cvsroot/mozilla/widget/src/beos/nsWindow.cpp,v  <--  nsWindow.cpp
new revision: 1.110; previous revision: 1.109
done 

Closing
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Attached patch Patch for 1_8 branch (obsolete) — Splinter Review
This is the patch for the MOZILLA_1_8_BRANCH.

Sergei, I get the following warning:
/boot/home/firefox-devel/mozilla/widget/src/beos/nsWindow.cpp: In method `void nsViewBeOS::MakeFocus(bool)':
/boot/home/firefox-devel/mozilla/widget/src/beos/nsWindow.cpp:3281: warning: left-hand operand of comma expression has no effect

The line in question is:
			if (nsnull != (info = new MethodInfo(w, w, nsWindow::KILL_FOCUS),1,args))

I'm not sure what you're trying to do, but is it safe to ignore the warning. Also, inside the first #ifdef DEBUG_FOCUS block there is a printf line which ends with */ (without a starting one). 

It builds though.
I think this warning (and bit flawed logic) was fixed later in some bug.
Look at current trunk source code to see how this place in discussion should look alike. I think it is safe to fix it now and here than later.
This patch includes the fix to bug 326687. Requesting permission to land in the MOZILLA_1_8_BRANCH.

This is a BeOS-only change and will not affect any other platform.
Attachment #231916 - Attachment is obsolete: true
Attachment #231935 - Flags: approval1.8.1?
Comment on attachment 231935 [details] [diff] [review]
Patch for 1_8 branch (2)

a=drivers
Attachment #231935 - Flags: approval1.8.1? → approval1.8.1+
Checking in mozilla/widget/src/beos/nsWindow.cpp;
/cvsroot/mozilla/widget/src/beos/nsWindow.cpp,v  <--  nsWindow.cpp
new revision: 1.91.4.18; previous revision: 1.91.4.17
done
Status: RESOLVED → REOPENED
Keywords: fixed1.8.1
Resolution: FIXED → ---
Status: REOPENED → RESOLVED
Closed: 15 years ago14 years ago
Resolution: --- → FIXED
Blocks: 311032
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.