Closed Bug 297683 Opened 20 years ago Closed 17 years ago

WINCE fix up

Categories

(Firefox Build System :: General, defect)

x86
Windows XP
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: dougt, Assigned: dougt)

References

Details

Attachments

(18 files, 1 obsolete file)

10.86 KB, patch
emaijala+moz
: review+
dveditz
: superreview+
Details | Diff | Splinter Review
10.24 KB, patch
emaijala+moz
: review+
dveditz
: superreview+
Details | Diff | Splinter Review
5.06 KB, patch
emaijala+moz
: review+
dveditz
: superreview+
Details | Diff | Splinter Review
8.77 KB, patch
emaijala+moz
: review+
dveditz
: superreview+
Details | Diff | Splinter Review
2.59 KB, patch
dveditz
: review+
dveditz
: superreview+
Details | Diff | Splinter Review
34.54 KB, patch
dveditz
: review+
dveditz
: superreview+
Details | Diff | Splinter Review
7.36 KB, patch
benjamin
: review+
Details | Diff | Splinter Review
13.14 KB, patch
dveditz
: review+
dveditz
: superreview+
Details | Diff | Splinter Review
16.47 KB, patch
dveditz
: review+
dveditz
: superreview+
Details | Diff | Splinter Review
28.63 KB, patch
dveditz
: review+
dveditz
: superreview+
Details | Diff | Splinter Review
4.63 KB, patch
dveditz
: review+
Details | Diff | Splinter Review
7.27 KB, patch
dveditz
: review+
dveditz
: superreview+
Details | Diff | Splinter Review
9.22 KB, patch
dveditz
: review+
Details | Diff | Splinter Review
11.09 KB, patch
dveditz
: review+
Details | Diff | Splinter Review
2.99 KB, patch
dveditz
: review+
Details | Diff | Splinter Review
1.67 KB, patch
dveditz
: review+
Details | Diff | Splinter Review
2.21 KB, patch
dveditz
: review+
beltzner
: approval1.8.1+
Details | Diff | Splinter Review
10.66 KB, patch
dveditz
: superreview+
mconnor
: approval1.8.1+
Details | Diff | Splinter Review
 
Assignee: nobody → dougt
Attached patch patch v.1Splinter Review
* Fixes some build problems when trying to build non-static.  (removing link
libraries that don't exist on Windows CE)

* Taking xxx advice and making GetNAME always return a GDI forcing us to use
GetTextMetrics instead of GetFontData (which doesn't exist on Windows CE)

* Windows CE on ARM doesn't support C++ exceptions.  In the windows plugin code
uses catches to ensure that the plugins don't crash mozilla.  On windows ce on
arm, we have no choice but to disable CALL_SAFETY_ON.

* On Windows CE, VerQueryValue internal structure can not be modified so
callers must do a bit of string conversion.

* Disabling more code in nsOSHelperAppService for Windows CE.

* Enabling the Windows Registry code in XPCOM since the Window CE shunt now
supports the limited set needed (all but notification).

*
Comment on attachment 186224 [details] [diff] [review]
patch v.1

in the comment above, the mystery man "xxx" is Roger B. Sidje.
Attachment #186224 - Flags: superreview?(dveditz)
Attachment #186224 - Flags: review?(emaijala)
Comment on attachment 186224 [details] [diff] [review]
patch v.1

sr=dveditz
I'd prefer if nsWindowsRegKey::StartWatching() put the short WINCE ifdef at the
top and got it out of the way like the other places.
Attachment #186224 - Flags: superreview?(dveditz) → superreview+
np, will do.  thx
Comment on attachment 186224 [details] [diff] [review]
patch v.1

"Me too" on the positioning. r=emaijala
Attachment #186224 - Flags: review?(emaijala) → review+
Attachment #186224 - Flags: approval1.8b3+
Checking in gfx/src/windows/Makefile.in;
/cvsroot/mozilla/gfx/src/windows/Makefile.in,v  <--  Makefile.in
new revision: 1.27; previous revision: 1.26
done
Checking in gfx/src/windows/nsFontMetricsWin.cpp;
/cvsroot/mozilla/gfx/src/windows/nsFontMetricsWin.cpp,v  <--  nsFontMetricsWin.cpp
new revision: 3.229; previous revision: 3.228
done
Checking in modules/plugin/base/src/nsPluginSafety.h;
/cvsroot/mozilla/modules/plugin/base/src/nsPluginSafety.h,v  <--  nsPluginSafety.h
new revision: 1.14; previous revision: 1.13
done
Checking in modules/plugin/base/src/nsPluginsDirWin.cpp;
/cvsroot/mozilla/modules/plugin/base/src/nsPluginsDirWin.cpp,v  <-- 
nsPluginsDirWin.cpp
new revision: 1.35; previous revision: 1.34
done
Checking in modules/plugin/samples/default/windows/Makefile.in;
/cvsroot/mozilla/modules/plugin/samples/default/windows/Makefile.in,v  <-- 
Makefile.in
new revision: 1.16; previous revision: 1.15
done
Checking in uriloader/exthandler/win/nsOSHelperAppService.cpp;
/cvsroot/mozilla/uriloader/exthandler/win/nsOSHelperAppService.cpp,v  <-- 
nsOSHelperAppService.cpp
new revision: 1.63; previous revision: 1.62
done
Checking in xpcom/ds/Makefile.in;
/cvsroot/mozilla/xpcom/ds/Makefile.in,v  <--  Makefile.in
new revision: 1.98; previous revision: 1.97
done
Checking in xpcom/ds/nsWindowsRegKey.cpp;
/cvsroot/mozilla/xpcom/ds/nsWindowsRegKey.cpp,v  <--  nsWindowsRegKey.cpp
new revision: 1.4; previous revision: 1.3
done
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
I am going to reopen this bug for further changes related to the WinCE port.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Attached patch patch v.2Splinter Review
This patch does two things:

1) Correctly handles dropdown menus.  In earlier version of nsWindow for WinCE
we basically totally ignored handling events that were outside of the popup. 
The result was that if you happen to popup a menu, it wouldn't go away unless
you clicked on a item.	If there we no ideas, well you were hosed.

2) Correctly handles the WM_WINDOWPOSCHANGED event.  Prior to this, if the
browser ever was resized or moved, we would ignore the event.  We can not
process the WINDOWPLACEMENT and instead just always focus.
Comment on attachment 187438 [details] [diff] [review]
patch v.2

Please ignore the Makefile.in change.
Attachment #187438 - Flags: superreview?(dveditz)
Attachment #187438 - Flags: review?(emaijala)
Comment on attachment 187438 [details] [diff] [review]
patch v.2

sr=dveditz
Attachment #187438 - Flags: superreview?(dveditz) → superreview+
Comment on attachment 187438 [details] [diff] [review]
patch v.2

r=emaijala
Attachment #187438 - Flags: review?(emaijala) → review+
Checking in src/windows/nsWindow.cpp;
/cvsroot/mozilla/widget/src/windows/nsWindow.cpp,v  <--  nsWindow.cpp
new revision: 3.561; previous revision: 3.560
done
Checking in src/windows/nsWindow.h;
/cvsroot/mozilla/widget/src/windows/nsWindow.h,v  <--  nsWindow.h
new revision: 3.202; previous revision: 3.201
done

Leaving open for further fixups.  
Attached patch patch v.3Splinter Review
Implements DataToBitmap.  We do not handle the cursor translucency, but it is
more then what we do currently.  Basically we are moving around ifdef's here.

Fixes GetSysFontInfo.  For windows CE we correctly return the System Font.
Attachment #188814 - Flags: superreview?(dveditz)
Attachment #188814 - Flags: review?(emaijala)
Comment on attachment 188814 [details] [diff] [review]
patch v.3

r=emaijala
Attachment #188814 - Flags: review?(emaijala) → review+
Comment on attachment 188814 [details] [diff] [review]
patch v.3

sr=dveditz
Attachment #188814 - Flags: superreview?(dveditz) → superreview+
Checking in gfx/src/windows/nsDeviceContextWin.cpp;                            
      /cvsroot/mozilla/gfx/src/windows/nsDeviceContextWin.cpp,v  <-- 
nsDeviceContextWin.cppnew revision: 3.121; previous revision: 3.120            
                            done                                               
                                  Checking in widget/src/windows/nsWindow.cpp; 
                                       
/cvsroot/mozilla/widget/src/windows/nsWindow.cpp,v  <--  nsWindow.cpp          
      new revision: 3.564; previous revision: 3.563                            
            done                                                               
                  

thanks.  leaving open for further changes for wince fix up.
Attached patch patch v.4Splinter Review
This patch does the follow:

*)  First it allows hardware key that various devices have (so called HOTKEYs)
be mapped into the DOM (as F-KEYS).  This will allow application developers use
the standard hardware buttons on devcies in some interesting way.  This is
controlled via a preference.  it is to be defaulted on -- we will override the
hardware buttons and pass these events on.

*) Secondly, i have added a preference which controls if the top level windows
have a (X) box or a (OK) box in their upper right hand corner.	The difference
between these is that an (X) box only puts the top level window in the
background whereas the (OK) box actually is suppose close and destory the
window.  It is very important for developers (a time save) to have the ablity
to directly kill the window.  Without this, you have to go to Settings / System
/ Memory / Running Programs, then find your app and press "Stop".  

This patch is WINCE only -- everything is within the correct #defines.
Attachment #189851 - Flags: superreview?(dveditz)
Attachment #189851 - Flags: review?(emaijala)
Comment on attachment 189851 [details] [diff] [review]
patch v.4

>+#include "aygshell.h"

Something you try not to walk on ("eggshell")?

> gProcUndergisterFunc

Undergister?

Do we really want to rely on undocumented functions? We see what happens to our
own embeddors when they do that...

>@@ -1558,20 +1630,23 @@ nsWindow::StandardWindowCreate(nsIWidget
>+#ifdef WINCE
>+    if (isMozWindowTakingFocus && aEventType == NS_GOTFOCUS)
>+      MapHardwareButtons(mWnd);
>+#endif

If you have to do this, do we need to un-map the hardward buttons if we lose
focus?

sr=dveditz
Attachment #189851 - Flags: superreview?(dveditz) → superreview+
Comment on attachment 189851 [details] [diff] [review]
patch v.4

I will fix up the typo in the var name.

It is undocument, but that is what you have to do if you want to override hw
buttons.

also, these keys are unmapped if we loose focus -- so if another app comes in,
the hw keys work just fine.
Comment on attachment 189851 [details] [diff] [review]
patch v.4

r=emaijala
Attachment #189851 - Flags: review?(emaijala) → review+
Checking in src/windows/nsWindow.cpp;
/cvsroot/mozilla/widget/src/windows/nsWindow.cpp,v  <--  nsWindow.cpp
new revision: 3.565; previous revision: 3.564
done
Attached patch patch v.5Splinter Review
really simply wince ifdefs.
Comment on attachment 191988 [details] [diff] [review]
patch v.5

r/sr=dveditz
Attachment #191988 - Flags: superreview+
Attachment #191988 - Flags: review+
Checking in nsFontMetricsWin.cpp;
/cvsroot/mozilla/gfx/src/windows/nsFontMetricsWin.cpp,v  <--  nsFontMetricsWin.cpp
new revision: 3.232; previous revision: 3.231
done
Checking in nsGfxFactoryWin.cpp;
/cvsroot/mozilla/gfx/src/windows/nsGfxFactoryWin.cpp,v  <--  nsGfxFactoryWin.cpp
new revision: 3.40; previous revision: 3.39
done
Depends on: 303995
Attached patch patch v.6Splinter Review
This patch does two things:
a) enables clipboard support on Windows CE.  It was pretty easy to port.  we
just don't support file clipboard type nor do we know what to do with drag and
drop.  Hence there are a few ifdef's sprinkled through out.  Also, i noticed
that the WinCE compiler chokeds on ::Global* for some reason.  Since these do
not need to be namespaced, I removed the "::".

b) detects windows ce tap-and-hold events via SHRecognizeGesture.  When we
discover that this occurs we fire a right mouse click.
Comment on attachment 192305 [details] [diff] [review]
patch v.6

r/sr=dveditz
Attachment #192305 - Flags: superreview+
Attachment #192305 - Flags: review+
Checking in src/build/nsWinWidgetFactory.cpp;
/cvsroot/mozilla/widget/src/build/nsWinWidgetFactory.cpp,v  <-- 
nsWinWidgetFactory.cpp
new revision: 1.66; previous revision: 1.65
done
Checking in src/windows/Makefile.in;
/cvsroot/mozilla/widget/src/windows/Makefile.in,v  <--  Makefile.in
new revision: 3.26; previous revision: 3.25
done
Checking in src/windows/nsClipboard.cpp;
/cvsroot/mozilla/widget/src/windows/nsClipboard.cpp,v  <--  nsClipboard.cpp
new revision: 1.95; previous revision: 1.94
done
Checking in src/windows/nsDataObj.cpp;
/cvsroot/mozilla/widget/src/windows/nsDataObj.cpp,v  <--  nsDataObj.cpp
new revision: 1.69; previous revision: 1.68
done
Checking in src/windows/nsWindow.cpp;
/cvsroot/mozilla/widget/src/windows/nsWindow.cpp,v  <--  nsWindow.cpp
new revision: 3.568; previous revision: 3.567
done


Attached patch patch v.7Splinter Review
1) removes unused variable mBorderlessParent.
2) fixes a few bugs whereby I #ifdef out a case in a switch statement resulting
the default action being taken.
3) allowing gesture animation via a flag to SHRecognizeGesture.
4) returning a positive value to the WM_ACTIVATE message as the caller excepts
that.
5) GetWindowPlacement() is not implemented in the wince shunt library.	So, i
could remove some of the #ifndef WINCE code when handing WM_WINDOWPOSCHANGED.
6) Adjusting the window position when WM_SETTINGCHANGE is called with
SPI_SETWORKAREA.  This is a windows ce thing. Basically, you can go to full
screen and a WM_SETTINGCHANGE message is fired.
7) Lastly, when dealing with popups, we want to ignore the activate message
when deciding to roll up the popup.
Attachment #192847 - Flags: review+
Checking in src/windows/nsWindow.cpp;
/cvsroot/mozilla/widget/src/windows/nsWindow.cpp,v  <--  nsWindow.cpp
new revision: 3.572; previous revision: 3.571
done
Checking in src/windows/nsWindow.h;
/cvsroot/mozilla/widget/src/windows/nsWindow.h,v  <--  nsWindow.h
new revision: 3.206; previous revision: 3.205
done
Attached patch patch v.8Splinter Review
This patch does the following:
  * Removes #ifndef WINCE around the OleRegisterMgr.  I have implemented the
required OLE functions in the windows ce shunt layer.

  * In nsWindow::InitEvent, i moved code from outside of the if-statement as it
was only being used within the true block.

  * In nsWindow::EventIsInsideWindow, we need to treat Activation events are
non-fatal.  That is to say, if a popup window gets an activation event, it
shouldn't cause the popup to go away on windows ce.

  * Removing the #ifndef WINCE around the dialog code.	Now eWindowType_dialog
really will get you a dialog just like on Windows.

  * I have stubbed out MA_* defines in the WinCE shunt layer.  This allowed us
to remove the #ifdef in nsWindow::ProcessMessage.
Comment on attachment 194418 [details] [diff] [review]
patch v.8

r/sr=dveditz
Attachment #194418 - Flags: superreview+
Attachment #194418 - Flags: review+
Checking in nsWindow.cpp;
/cvsroot/mozilla/widget/src/windows/nsWindow.cpp,v  <--  nsWindow.cpp
new revision: 3.580; previous revision: 3.579
done

thanks.
Attached patch patch v.9Splinter Review
This patch address the follow:
1) For windows CE, we do not ever want to ask for a font with ANSI_CHARSET.  We
should try to always use the default charset.
2) Also, CLIP_TURNOFF_FONTASSOCIATION (a #define in this file), is not support
on WINCE.
3) Since WINCE has an all unicode backend, we can simple never use the
nsFontWinNonUnicode class.  I have only ifdef'ed the instantiation of these
objects, in a later patch, I hope to ifdef out the nsFontWinNonUnicode all
together.
4) SubstituteChars need to not sub anything.  If the glyph isn't present, then
it is a font problem and a [] will apper.
5) Lastly, I included a patch to remove the #ifdef's from nsOSHelperAppService.
 The shunt library now supports all the functionality that is needed.
Comment on attachment 195163 [details] [diff] [review]
patch v.9

I will get rid of the tabs in the patch... Sorry.
Blocks: 282855
Comment on attachment 195163 [details] [diff] [review]
patch v.9

r/sr=dveditz
Attachment #195163 - Flags: superreview+
Attachment #195163 - Flags: review+
Attached patch patch v.aSplinter Review
Patch does the following:
1) Enables native theme support on WinCE so that things look more clean --
specifically scrollbars looks better.
2) SetGraphicsMode isn't implemented on WinCE.	I ifdef'ed it out for WINCE.  I
think stuart, vlad, and I will have to really determine if i need to implement
this in the WinCE shunt.  For now, keep everything building.
3) I enabled IMM support on WINCE, although it is very rarely used.  This
allows us to remove some ifdef's.
4) I am remapping the hardward keys to new values.
5) I am also allowing the SmartPhone softkey's and the Back button to be
remapped.
Comment on attachment 199393 [details] [diff] [review]
patch v.a

r/sr=dveditz
Attachment #199393 - Flags: superreview+
Attachment #199393 - Flags: review+
Checking in widget/src/build/nsWinWidgetFactory.cpp;
/cvsroot/mozilla/widget/src/build/nsWinWidgetFactory.cpp,v  <-- 
nsWinWidgetFactory.cpp
new revision: 1.68; previous revision: 1.67
done
Checking in widget/src/windows/Makefile.in;
/cvsroot/mozilla/widget/src/windows/Makefile.in,v  <--  Makefile.in
new revision: 3.29; previous revision: 3.28
done
Checking in widget/src/windows/nsNativeThemeWin.cpp;
/cvsroot/mozilla/widget/src/windows/nsNativeThemeWin.cpp,v  <-- 
nsNativeThemeWin.cpp
new revision: 3.49; previous revision: 3.48
done
Checking in widget/src/windows/nsToolkit.cpp;
/cvsroot/mozilla/widget/src/windows/nsToolkit.cpp,v  <--  nsToolkit.cpp
new revision: 3.54; previous revision: 3.53
done
Checking in widget/src/windows/nsWindow.cpp;
/cvsroot/mozilla/widget/src/windows/nsWindow.cpp,v  <--  nsWindow.cpp
new revision: 3.583; previous revision: 3.582
done
Comment on attachment 199393 [details] [diff] [review]
patch v.a

>@@ -2103,20 +2180,21 @@
>     toolkit->CallMethod(&info);
>     return NS_ERROR_FAILURE;
>   }
> 
>   if (mWnd) {
>     // Uniconify, if necessary
>     HWND toplevelWnd = GetTopLevelHWND(mWnd);
>     if (::IsIconic(toplevelWnd))
>       ::OpenIcon(toplevelWnd);
>     ::SetFocus(mWnd);
>+    MapHardwareButtons(mWnd);
>   }
>   return NS_OK;
> }
This one needs #ifdef WINCE too?
Checking in nsWindow.cpp;
/cvsroot/mozilla/widget/src/windows/nsWindow.cpp,v  <--  nsWindow.cpp
new revision: 3.584; previous revision: 3.583
done
Attached patch patch v.bSplinter Review
All Windows CE.

1) This only creates one softkey menu.  If we create more then one, this cause windows to be hidden between new window creations.  See bug 314552.

2) This also makes a improvement to mouse taps in a context menu.  Now we only test for tab-and-hold (a "Gesture") when we are not displaying a context menu.  If we don't do this, the check for the gesture makes the context menu go away.

3) We also hide the software input panel when we are creating a dialog or a window.  This insures that the windows ce SIP button never blocks the view of a XUL implemented SIP.

This is a -w diff since it is clearer what I am doing.
Attachment #201632 - Flags: review?(dveditz)
Comment on attachment 201632 [details] [diff] [review]
patch v.b

r=dveditz
Attachment #201632 - Flags: review?(dveditz) → review+
Checking in nsWindow.cpp;
/cvsroot/mozilla/widget/src/windows/nsWindow.cpp,v  <--  nsWindow.cpp
new revision: 3.589; previous revision: 3.588
done

ty.
Attached patch patch v.cSplinter Review
1) enables the file picker
Comment on attachment 204850 [details] [diff] [review]
patch v.c

r/sr=dveditz
Attachment #204850 - Flags: superreview+
Attachment #204850 - Flags: review+
Attached patch patch v.dSplinter Review
Patch:

a) allows remapping softkeys even if gProcUnregisterFunc does not exist -- which is the case on some devices.

b) removes gSoftKeyMenuBar as we can use mSoftKeyMenuBar.

c) fixes smartphone which require a real menu when dispatching events to the event loop.  SHCMBF_EMPTYBAR doesn't not work.  The menu is defined by the embedding application.
Attachment #209764 - Flags: review?(dveditz)
Comment on attachment 209764 [details] [diff] [review]
patch v.d

>+#ifdef WINCE
>+  // are we suppose to free mSoftKeyMenuBar.  MSDN isn't sure.
>+#endif

Please prefix this comment with XXX so it can be picked up in later scans.

"supposed" typo and s/\./?/

r=dveditz
Attachment #209764 - Flags: review?(dveditz) → review+
/cvsroot/mozilla/widget/src/windows/resource.h,v  <--  resource.h
new revision: 3.10; previous revision: 3.9
done
Checking in widget/src/windows/nsWindow.h;
/cvsroot/mozilla/widget/src/windows/nsWindow.h,v  <--  nsWindow.h
new revision: 3.215; previous revision: 3.214
done
Checking in widget/src/windows/nsWindow.cpp;
/cvsroot/mozilla/widget/src/windows/nsWindow.cpp,v  <--  nsWindow.cpp
new revision: 3.609; previous revision: 3.608
done


Thanks dan.
Attached patch patch v.eSplinter Review
ensure that there is only one softkey menubar since having more results in a window minimization when an dialog is opened.

remove config.wince.useOKBtn pref.  it isn't used any longer.
Attachment #217922 - Flags: review?
Attachment #217922 - Flags: review? → review?(dveditz)
Comment on attachment 217922 [details] [diff] [review]
patch v.e

>     if (!nsWindow::sIsPopupClassRegistered) {
>       // For older versions of Win32 (i.e., not XP), the registration will
>       // fail, so we have to re-register without the CS_XP_DROPSHADOW flag.
>-      wc.style = CS_DBLCLKS;
>       nsWindow::sIsPopupClassRegistered = nsToolkit::mRegisterClass(&wc);
>     }

This bit is not #ifdef WINCE, isn't this change going to break the thing
the comment says it's trying not to break? Or if it's ok now then should
the comment go away too?
dan, youre right, for now, it should be #ifndef WINCE.
Status: REOPENED → ASSIGNED
Comment on attachment 217922 [details] [diff] [review]
patch v.e

Discussed via IM, r=dveditz if the questioned bit is changed to:

>     if (!nsWindow::sIsPopupClassRegistered) {
 + #ifndef WINCE
>       // For older versions of Win32 (i.e., not XP), the registration will
>       // fail, so we have to re-register without the CS_XP_DROPSHADOW flag.
>       wc.style = CS_DBLCLKS;
 + #endif
>       nsWindow::sIsPopupClassRegistered = nsToolkit::mRegisterClass(&wc);
>     }
Attachment #217922 - Flags: review?(dveditz) → review+
Attached patch patch v.fSplinter Review
IME continues to make context menus and dropdowns not work as expected.  this patch ifdefs out msg handling of IME messages on WINCE.

This also reduces the differences between wince and win32 wrt to style and default window icon handling.

wince only
Attachment #218852 - Flags: review?(dveditz)
Comment on attachment 218852 [details] [diff] [review]
patch v.f

r=dveditz
Attachment #218852 - Flags: review?(dveditz) → review+
checked in. ty.
Attached patch patch v.A1 (obsolete) — Splinter Review
Enables IME on windows ce.  this is required for any wince application to use IME.
Comment on attachment 223799 [details] [diff] [review]
patch v.A1

that is the wrong patch.
Attachment #223799 - Attachment is obsolete: true
Attachment #223800 - Flags: review?(dveditz)
Comment on attachment 223800 [details] [diff] [review]
patch v.A1 (really)

there is an extra } needed.  after: 
+        ImmEscapeW(NULL, hC, IME_ESC_SET_MODE, (LPVOID)IM_SPELL);
Attachment #223800 - Flags: review?(dveditz)
Comment on attachment 223800 [details] [diff] [review]
patch v.A1 (really)

sr=dveditz
Attachment #223800 - Flags: review?(dveditz)
Attachment #223800 - Flags: review+
Attached patch patch v.A2Splinter Review
Windows ce only.

This fixes a regression caused my the last check-in (patch v.A1).  The regression caused WM_HOTKEY events from never occuring when a popup window (such as a xul menu) was displayed.  The reason for this is that the activation state on windows ce differs a bit from windows 32 (do to the lack of a cancelable mouse activation message).  Short story is that it seams we have to mask any activation events during popup handling.
Attachment #232824 - Flags: review?(dveditz)
Comment on attachment 232824 [details] [diff] [review]
patch v.A2

r=dveditz
Attachment #232824 - Flags: review?(dveditz) → review+
Comment on attachment 232824 [details] [diff] [review]
patch v.A2

wince only change.
Attachment #232824 - Flags: approval1.8.1?
Comment on attachment 232824 [details] [diff] [review]
patch v.A2

a=drivers, WinCE only change, totally cool by us.
Attachment #232824 - Flags: approval1.8.1? → approval1.8.1+
Checking in nsWindow.cpp;
/cvsroot/mozilla/widget/src/windows/nsWindow.cpp,v  <--  nsWindow.cpp
new revision: 3.569.2.33; previous revision: 3.569.2.32
done

Not fixed on the trunk.  Probably will need to be ported when windows ce works on the trunk again (it doesn't build right now).
Attached patch patch v.A3Splinter Review
Windows CE ONLY

1. Use PostMessages as we do not care about the immediate result nor wish to wait.

2. Remove gSoftKeyMenuBar as we want all toplevel, dialog, and popup windows to have a softkey menu bar.

3. Reverting the SWP_NOACTIVATE flag to SetWindowPos.  It really seams that we can't click on the popup's without this.  Because of this change, I also reverting the check in DealWithPopups for the WM_ACTIVATE flag.

4. When handling the gesture in left mouse down, we always want to return zero.
Enabling WM_IME_ on windows ce.  The APIs are present, we just were ifdef'ing out the messaging handling.
Attachment #233724 - Flags: review?(dveditz)
Comment on attachment 233724 [details] [diff] [review]
patch v.A3

sr=dveditz
Attachment #233724 - Flags: review?(dveditz) → superreview+
Attachment #233724 - Flags: approval1.8.1?
Comment on attachment 233724 [details] [diff] [review]
patch v.A3

a=mconnor on behalf of drivers for 1.8 branch checkin
Attachment #233724 - Flags: approval1.8.1? → approval1.8.1+
this was for 1.8 changes.   Marking fixed.
Status: ASSIGNED → RESOLVED
Closed: 20 years ago17 years ago
Resolution: --- → FIXED
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: