Bug 1391164 - Unnecessary to use GetProcAddress for gesture APIs since we already drop XP and Vista. r?jimm
Since our platform requirement is Windows 7+, we don't need GetProcAddress for gesture APIs. But nsWinGesture still uses GetProcAddress for Win7+ API.
MozReview-Commit-ID: 1COJqM4NJTD
--- a/widget/windows/nsUXThemeData.cpp
+++ b/widget/windows/nsUXThemeData.cpp
@@ -11,49 +11,40 @@
#include "nsUXThemeData.h"
#include "nsDebug.h"
#include "nsToolkit.h"
#include "nsUXThemeConstants.h"
using namespace mozilla;
using namespace mozilla::widget;
-const wchar_t
-nsUXThemeData::kThemeLibraryName[] = L"uxtheme.dll";
-
HANDLE
nsUXThemeData::sThemes[eUXNumClasses];
-HMODULE
-nsUXThemeData::sThemeDLL = nullptr;
-
const int NUM_COMMAND_BUTTONS = 3;
SIZE nsUXThemeData::sCommandButtonMetrics[NUM_COMMAND_BUTTONS];
bool nsUXThemeData::sCommandButtonMetricsInitialized = false;
SIZE nsUXThemeData::sCommandButtonBoxMetrics;
bool nsUXThemeData::sCommandButtonBoxMetricsInitialized = false;
bool
nsUXThemeData::sFlatMenus = false;
bool nsUXThemeData::sTitlebarInfoPopulatedAero = false;
bool nsUXThemeData::sTitlebarInfoPopulatedThemed = false;
void
nsUXThemeData::Teardown() {
Invalidate();
- if(sThemeDLL)
- FreeLibrary(sThemeDLL);
}
void
nsUXThemeData::Initialize()
{
::ZeroMemory(sThemes, sizeof(sThemes));
- NS_ASSERTION(!sThemeDLL, "nsUXThemeData being initialized twice!");
CheckForCompositor(true);
Invalidate();
}
void
nsUXThemeData::Invalidate() {
for(int i = 0; i < eUXNumClasses; i++) {
@@ -72,23 +63,16 @@ nsUXThemeData::GetTheme(nsUXThemeClass c
NS_ASSERTION(cls < eUXNumClasses, "Invalid theme class!");
if(!sThemes[cls])
{
sThemes[cls] = OpenThemeData(nullptr, GetClassName(cls));
}
return sThemes[cls];
}
-HMODULE
-nsUXThemeData::GetThemeDLL() {
- if (!sThemeDLL)
- sThemeDLL = ::LoadLibraryW(kThemeLibraryName);
- return sThemeDLL;
-}
-
const wchar_t *nsUXThemeData::GetClassName(nsUXThemeClass cls) {
switch(cls) {
case eUXButton:
return L"Button";
case eUXEdit:
return L"Edit";
case eUXTooltip:
return L"Tooltip";
--- a/widget/windows/nsUXThemeData.h
+++ b/widget/windows/nsUXThemeData.h
@@ -74,33 +74,31 @@ enum WindowsThemeColor {
};
#define CMDBUTTONIDX_MINIMIZE 0
#define CMDBUTTONIDX_RESTORE 1
#define CMDBUTTONIDX_CLOSE 2
#define CMDBUTTONIDX_BUTTONBOX 3
class nsUXThemeData {
- static HMODULE sThemeDLL;
static HANDLE sThemes[eUXNumClasses];
// We initialize sCommandButtonBoxMetrics separately as a performance
// optimization to avoid fetching dummy values for sCommandButtonMetrics
// when we don't need those.
static SIZE sCommandButtonMetrics[3];
static bool sCommandButtonMetricsInitialized;
static SIZE sCommandButtonBoxMetrics;
static bool sCommandButtonBoxMetricsInitialized;
static const wchar_t *GetClassName(nsUXThemeClass);
static void EnsureCommandButtonMetrics();
static void EnsureCommandButtonBoxMetrics();
public:
- static const wchar_t kThemeLibraryName[];
static bool sFlatMenus;
static bool sTitlebarInfoPopulatedAero;
static bool sTitlebarInfoPopulatedThemed;
static mozilla::LookAndFeel::WindowsTheme sThemeId;
static bool sIsDefaultWindowsTheme;
static bool sIsHighContrastOn;
static void Initialize();
--- a/widget/windows/nsWinGesture.cpp
+++ b/widget/windows/nsWinGesture.cpp
@@ -19,31 +19,16 @@
#include <cmath>
using namespace mozilla;
using namespace mozilla::widget;
extern mozilla::LazyLogModule gWindowsLog;
-const wchar_t nsWinGesture::kGestureLibraryName[] = L"user32.dll";
-HMODULE nsWinGesture::sLibraryHandle = nullptr;
-nsWinGesture::GetGestureInfoPtr nsWinGesture::getGestureInfo = nullptr;
-nsWinGesture::CloseGestureInfoHandlePtr nsWinGesture::closeGestureInfoHandle = nullptr;
-nsWinGesture::GetGestureExtraArgsPtr nsWinGesture::getGestureExtraArgs = nullptr;
-nsWinGesture::SetGestureConfigPtr nsWinGesture::setGestureConfig = nullptr;
-nsWinGesture::GetGestureConfigPtr nsWinGesture::getGestureConfig = nullptr;
-nsWinGesture::BeginPanningFeedbackPtr nsWinGesture::beginPanningFeedback = nullptr;
-nsWinGesture::EndPanningFeedbackPtr nsWinGesture::endPanningFeedback = nullptr;
-nsWinGesture::UpdatePanningFeedbackPtr nsWinGesture::updatePanningFeedback = nullptr;
-
-nsWinGesture::RegisterTouchWindowPtr nsWinGesture::registerTouchWindow = nullptr;
-nsWinGesture::UnregisterTouchWindowPtr nsWinGesture::unregisterTouchWindow = nullptr;
-nsWinGesture::GetTouchInputInfoPtr nsWinGesture::getTouchInputInfo = nullptr;
-nsWinGesture::CloseTouchInputHandlePtr nsWinGesture::closeTouchInputHandle = nullptr;
static bool gEnableSingleFingerPanEvents = false;
nsWinGesture::nsWinGesture() :
mPanActive(false),
mFeedbackActive(false),
mXAxisFeedback(false),
mYAxisFeedback(false),
@@ -52,84 +37,29 @@ nsWinGesture::nsWinGesture() :
(void)InitLibrary();
mPixelScrollOverflow = 0;
}
/* Load and shutdown */
bool nsWinGesture::InitLibrary()
{
- if (getGestureInfo) {
- return true;
- } else if (sLibraryHandle) {
- return false;
- }
-
- sLibraryHandle = ::LoadLibraryW(kGestureLibraryName);
- HMODULE hTheme = nsUXThemeData::GetThemeDLL();
-
- // gesture interfaces
- if (sLibraryHandle) {
- getGestureInfo = (GetGestureInfoPtr)GetProcAddress(sLibraryHandle, "GetGestureInfo");
- closeGestureInfoHandle = (CloseGestureInfoHandlePtr)GetProcAddress(sLibraryHandle, "CloseGestureInfoHandle");
- getGestureExtraArgs = (GetGestureExtraArgsPtr)GetProcAddress(sLibraryHandle, "GetGestureExtraArgs");
- setGestureConfig = (SetGestureConfigPtr)GetProcAddress(sLibraryHandle, "SetGestureConfig");
- getGestureConfig = (GetGestureConfigPtr)GetProcAddress(sLibraryHandle, "GetGestureConfig");
- registerTouchWindow = (RegisterTouchWindowPtr)GetProcAddress(sLibraryHandle, "RegisterTouchWindow");
- unregisterTouchWindow = (UnregisterTouchWindowPtr)GetProcAddress(sLibraryHandle, "UnregisterTouchWindow");
- getTouchInputInfo = (GetTouchInputInfoPtr)GetProcAddress(sLibraryHandle, "GetTouchInputInfo");
- closeTouchInputHandle = (CloseTouchInputHandlePtr)GetProcAddress(sLibraryHandle, "CloseTouchInputHandle");
- }
-
- if (!getGestureInfo || !closeGestureInfoHandle || !getGestureExtraArgs ||
- !setGestureConfig || !getGestureConfig) {
- getGestureInfo = nullptr;
- closeGestureInfoHandle = nullptr;
- getGestureExtraArgs = nullptr;
- setGestureConfig = nullptr;
- getGestureConfig = nullptr;
- return false;
- }
-
- if (!registerTouchWindow || !unregisterTouchWindow || !getTouchInputInfo || !closeTouchInputHandle) {
- registerTouchWindow = nullptr;
- unregisterTouchWindow = nullptr;
- getTouchInputInfo = nullptr;
- closeTouchInputHandle = nullptr;
- }
-
- // panning feedback interfaces
- if (hTheme) {
- beginPanningFeedback = (BeginPanningFeedbackPtr)GetProcAddress(hTheme, "BeginPanningFeedback");
- endPanningFeedback = (EndPanningFeedbackPtr)GetProcAddress(hTheme, "EndPanningFeedback");
- updatePanningFeedback = (UpdatePanningFeedbackPtr)GetProcAddress(hTheme, "UpdatePanningFeedback");
- }
-
- if (!beginPanningFeedback || !endPanningFeedback || !updatePanningFeedback) {
- beginPanningFeedback = nullptr;
- endPanningFeedback = nullptr;
- updatePanningFeedback = nullptr;
- }
-
// Check to see if we want single finger gesture input. Only do this once
// for the app so we don't have to look it up on every window create.
gEnableSingleFingerPanEvents =
Preferences::GetBool("gestures.enable_single_finger_input", false);
return true;
}
#define GCOUNT 5
bool nsWinGesture::SetWinGestureSupport(HWND hWnd,
WidgetGestureNotifyEvent::PanDirection aDirection)
{
- if (!getGestureInfo)
- return false;
-
GESTURECONFIG config[GCOUNT];
memset(&config, 0, sizeof(config));
config[0].dwID = GID_ZOOM;
config[0].dwWant = GC_ZOOM;
config[0].dwBlock = 0;
@@ -164,125 +94,22 @@ bool nsWinGesture::SetWinGestureSupport(
config[3].dwWant = GC_TWOFINGERTAP;
config[3].dwID = GID_TWOFINGERTAP;
config[3].dwBlock = 0;
config[4].dwWant = GC_PRESSANDTAP;
config[4].dwID = GID_PRESSANDTAP;
config[4].dwBlock = 0;
- return SetGestureConfig(hWnd, GCOUNT, (PGESTURECONFIG)&config);
+ return SetGestureConfig(hWnd, 0, GCOUNT, (PGESTURECONFIG)&config,
+ sizeof(GESTURECONFIG));
}
/* Helpers */
-bool nsWinGesture::IsAvailable()
-{
- return getGestureInfo != nullptr;
-}
-
-bool nsWinGesture::RegisterTouchWindow(HWND hWnd)
-{
- if (!registerTouchWindow)
- return false;
-
- return registerTouchWindow(hWnd, TWF_WANTPALM);
-}
-
-bool nsWinGesture::UnregisterTouchWindow(HWND hWnd)
-{
- if (!unregisterTouchWindow)
- return false;
-
- return unregisterTouchWindow(hWnd);
-}
-
-bool nsWinGesture::GetTouchInputInfo(HTOUCHINPUT hTouchInput, uint32_t cInputs, PTOUCHINPUT pInputs)
-{
- if (!getTouchInputInfo)
- return false;
-
- return getTouchInputInfo(hTouchInput, cInputs, pInputs, sizeof(TOUCHINPUT));
-}
-
-bool nsWinGesture::CloseTouchInputHandle(HTOUCHINPUT hTouchInput)
-{
- if (!closeTouchInputHandle)
- return false;
-
- return closeTouchInputHandle(hTouchInput);
-}
-
-bool nsWinGesture::GetGestureInfo(HGESTUREINFO hGestureInfo, PGESTUREINFO pGestureInfo)
-{
- if (!getGestureInfo || !hGestureInfo || !pGestureInfo)
- return false;
-
- ZeroMemory(pGestureInfo, sizeof(GESTUREINFO));
- pGestureInfo->cbSize = sizeof(GESTUREINFO);
-
- return getGestureInfo(hGestureInfo, pGestureInfo);
-}
-
-bool nsWinGesture::CloseGestureInfoHandle(HGESTUREINFO hGestureInfo)
-{
- if (!getGestureInfo || !hGestureInfo)
- return false;
-
- return closeGestureInfoHandle(hGestureInfo);
-}
-
-bool nsWinGesture::GetGestureExtraArgs(HGESTUREINFO hGestureInfo, UINT cbExtraArgs, PBYTE pExtraArgs)
-{
- if (!getGestureInfo || !hGestureInfo || !pExtraArgs)
- return false;
-
- return getGestureExtraArgs(hGestureInfo, cbExtraArgs, pExtraArgs);
-}
-
-bool nsWinGesture::SetGestureConfig(HWND hWnd, UINT cIDs, PGESTURECONFIG pGestureConfig)
-{
- if (!getGestureInfo || !pGestureConfig)
- return false;
-
- return setGestureConfig(hWnd, 0, cIDs, pGestureConfig, sizeof(GESTURECONFIG));
-}
-
-bool nsWinGesture::GetGestureConfig(HWND hWnd, DWORD dwFlags, PUINT pcIDs, PGESTURECONFIG pGestureConfig)
-{
- if (!getGestureInfo || !pGestureConfig)
- return false;
-
- return getGestureConfig(hWnd, 0, dwFlags, pcIDs, pGestureConfig, sizeof(GESTURECONFIG));
-}
-
-bool nsWinGesture::BeginPanningFeedback(HWND hWnd)
-{
- if (!beginPanningFeedback)
- return false;
-
- return beginPanningFeedback(hWnd);
-}
-
-bool nsWinGesture::EndPanningFeedback(HWND hWnd)
-{
- if (!beginPanningFeedback)
- return false;
-
- return endPanningFeedback(hWnd, TRUE);
-}
-
-bool nsWinGesture::UpdatePanningFeedback(HWND hWnd, LONG offsetX, LONG offsetY, BOOL fInInertia)
-{
- if (!beginPanningFeedback)
- return false;
-
- return updatePanningFeedback(hWnd, offsetX, offsetY, fInInertia);
-}
-
bool nsWinGesture::IsPanEvent(LPARAM lParam)
{
GESTUREINFO gi;
ZeroMemory(&gi,sizeof(GESTUREINFO));
gi.cbSize = sizeof(GESTUREINFO);
BOOL result = GetGestureInfo((HGESTUREINFO)lParam, &gi);
@@ -550,17 +377,17 @@ nsWinGesture::PanFeedbackFinalize(HWND h
if (!mFeedbackActive)
return;
if (endFeedback) {
mFeedbackActive = false;
mXAxisFeedback = false;
mYAxisFeedback = false;
mPixelScrollOverflow = 0;
- EndPanningFeedback(hWnd);
+ EndPanningFeedback(hWnd, TRUE);
return;
}
UpdatePanningFeedback(hWnd, mPixelScrollOverflow.x, mPixelScrollOverflow.y, mPanInertiaActive);
}
bool
nsWinGesture::PanDeltaToPixelScroll(WidgetWheelEvent& aWheelEvent)
--- a/widget/windows/nsWinGesture.h
+++ b/widget/windows/nsWinGesture.h
@@ -46,81 +46,32 @@ public:
class nsWinGesture
{
public:
nsWinGesture();
public:
bool SetWinGestureSupport(HWND hWnd, mozilla::WidgetGestureNotifyEvent::PanDirection aDirection);
bool ShutdownWinGestureSupport();
- bool RegisterTouchWindow(HWND hWnd);
- bool UnregisterTouchWindow(HWND hWnd);
- bool GetTouchInputInfo(HTOUCHINPUT hTouchInput, uint32_t cInputs, PTOUCHINPUT pInputs);
- bool CloseTouchInputHandle(HTOUCHINPUT hTouchInput);
- bool IsAvailable();
// Simple gesture process
bool ProcessGestureMessage(HWND hWnd, WPARAM wParam, LPARAM lParam, mozilla::WidgetSimpleGestureEvent& evt);
// Pan processing
bool IsPanEvent(LPARAM lParam);
bool ProcessPanMessage(HWND hWnd, WPARAM wParam, LPARAM lParam);
bool PanDeltaToPixelScroll(mozilla::WidgetWheelEvent& aWheelEvent);
void UpdatePanFeedbackX(HWND hWnd, int32_t scrollOverflow, bool& endFeedback);
void UpdatePanFeedbackY(HWND hWnd, int32_t scrollOverflow, bool& endFeedback);
void PanFeedbackFinalize(HWND hWnd, bool endFeedback);
-public:
- // Helpers
- bool GetGestureInfo(HGESTUREINFO hGestureInfo, PGESTUREINFO pGestureInfo);
- bool CloseGestureInfoHandle(HGESTUREINFO hGestureInfo);
- bool GetGestureExtraArgs(HGESTUREINFO hGestureInfo, UINT cbExtraArgs, PBYTE pExtraArgs);
- bool SetGestureConfig(HWND hWnd, UINT cIDs, PGESTURECONFIG pGestureConfig);
- bool GetGestureConfig(HWND hWnd, DWORD dwFlags, PUINT pcIDs, PGESTURECONFIG pGestureConfig);
- bool BeginPanningFeedback(HWND hWnd);
- bool EndPanningFeedback(HWND hWnd);
- bool UpdatePanningFeedback(HWND hWnd, LONG offsetX, LONG offsetY, BOOL fInInertia);
-
-protected:
-
private:
- // Function prototypes
- typedef BOOL (WINAPI * GetGestureInfoPtr)(HGESTUREINFO hGestureInfo, PGESTUREINFO pGestureInfo);
- typedef BOOL (WINAPI * CloseGestureInfoHandlePtr)(HGESTUREINFO hGestureInfo);
- typedef BOOL (WINAPI * GetGestureExtraArgsPtr)(HGESTUREINFO hGestureInfo, UINT cbExtraArgs, PBYTE pExtraArgs);
- typedef BOOL (WINAPI * SetGestureConfigPtr)(HWND hwnd, DWORD dwReserved, UINT cIDs, PGESTURECONFIG pGestureConfig, UINT cbSize);
- typedef BOOL (WINAPI * GetGestureConfigPtr)(HWND hwnd, DWORD dwReserved, DWORD dwFlags, PUINT pcIDs, PGESTURECONFIG pGestureConfig, UINT cbSize);
- typedef BOOL (WINAPI * BeginPanningFeedbackPtr)(HWND hWnd);
- typedef BOOL (WINAPI * EndPanningFeedbackPtr)(HWND hWnd, BOOL fAnimateBack);
- typedef BOOL (WINAPI * UpdatePanningFeedbackPtr)(HWND hWnd, LONG offsetX, LONG offsetY, BOOL fInInertia);
- typedef BOOL (WINAPI * RegisterTouchWindowPtr)(HWND hWnd, ULONG flags);
- typedef BOOL (WINAPI * UnregisterTouchWindowPtr)(HWND hWnd);
- typedef BOOL (WINAPI * GetTouchInputInfoPtr)(HTOUCHINPUT hTouchInput, uint32_t cInputs, PTOUCHINPUT pInputs, int32_t cbSize);
- typedef BOOL (WINAPI * CloseTouchInputHandlePtr)(HTOUCHINPUT hTouchInput);
-
- // Static function pointers
- static GetGestureInfoPtr getGestureInfo;
- static CloseGestureInfoHandlePtr closeGestureInfoHandle;
- static GetGestureExtraArgsPtr getGestureExtraArgs;
- static SetGestureConfigPtr setGestureConfig;
- static GetGestureConfigPtr getGestureConfig;
- static BeginPanningFeedbackPtr beginPanningFeedback;
- static EndPanningFeedbackPtr endPanningFeedback;
- static UpdatePanningFeedbackPtr updatePanningFeedback;
- static RegisterTouchWindowPtr registerTouchWindow;
- static UnregisterTouchWindowPtr unregisterTouchWindow;
- static GetTouchInputInfoPtr getTouchInputInfo;
- static CloseTouchInputHandlePtr closeTouchInputHandle;
-
// Delay load info
bool InitLibrary();
- static HMODULE sLibraryHandle;
- static const wchar_t kGestureLibraryName[];
-
// Pan and feedback state
nsPointWin mPanIntermediate;
nsPointWin mPanRefPoint;
nsPointWin mPixelScrollDelta;
bool mPanActive;
bool mFeedbackActive;
bool mXAxisFeedback;
bool mYAxisFeedback;
--- a/widget/windows/nsWindow.cpp
+++ b/widget/windows/nsWindow.cpp
@@ -1709,24 +1709,25 @@ void nsWindow::SetThemeRegion()
/**************************************************************
*
* SECTION: Touch and APZ-related functions
*
**************************************************************/
void nsWindow::RegisterTouchWindow() {
mTouchWindow = true;
- mGesture.RegisterTouchWindow(mWnd);
+ ::RegisterTouchWindow(mWnd, TWF_WANTPALM);
::EnumChildWindows(mWnd, nsWindow::RegisterTouchForDescendants, 0);
}
BOOL CALLBACK nsWindow::RegisterTouchForDescendants(HWND aWnd, LPARAM aMsg) {
nsWindow* win = WinUtils::GetNSWindowPtr(aWnd);
- if (win)
- win->mGesture.RegisterTouchWindow(aWnd);
+ if (win) {
+ ::RegisterTouchWindow(aWnd, TWF_WANTPALM);
+ }
return TRUE;
}
/**************************************************************
*
* SECTION: nsIWidget::Move, nsIWidget::Resize,
* nsIWidget::Size, nsIWidget::BeginResizeDrag
*
@@ -6817,32 +6818,34 @@ nsIntPoint nsWindow::GetTouchCoordinates
{
nsIntPoint ret;
uint32_t cInputs = LOWORD(wParam);
if (cInputs != 1) {
// Just return 0,0 if there isn't exactly one touch point active
return ret;
}
PTOUCHINPUT pInputs = new TOUCHINPUT[cInputs];
- if (mGesture.GetTouchInputInfo((HTOUCHINPUT)lParam, cInputs, pInputs)) {
+ if (GetTouchInputInfo((HTOUCHINPUT)lParam, cInputs, pInputs,
+ sizeof(TOUCHINPUT))) {
ret.x = TOUCH_COORD_TO_PIXEL(pInputs[0].x);
ret.y = TOUCH_COORD_TO_PIXEL(pInputs[0].y);
}
delete[] pInputs;
// Note that we don't call CloseTouchInputHandle here because we need
// to read the touch input info again in OnTouch later.
return ret;
}
bool nsWindow::OnTouch(WPARAM wParam, LPARAM lParam)
{
uint32_t cInputs = LOWORD(wParam);
PTOUCHINPUT pInputs = new TOUCHINPUT[cInputs];
- if (mGesture.GetTouchInputInfo((HTOUCHINPUT)lParam, cInputs, pInputs)) {
+ if (GetTouchInputInfo((HTOUCHINPUT)lParam, cInputs, pInputs,
+ sizeof(TOUCHINPUT))) {
MultiTouchInput touchInput, touchEndInput;
// Walk across the touch point array processing each contact point.
for (uint32_t i = 0; i < cInputs; i++) {
bool addToEvent = false, addToEndEvent = false;
// N.B.: According with MS documentation
// https://msdn.microsoft.com/en-us/library/windows/desktop/dd317334(v=vs.85).aspx
@@ -6916,17 +6919,17 @@ bool nsWindow::OnTouch(WPARAM wParam, LP
}
// Dispatch touch end event if we have one.
if (!touchEndInput.mTimeStamp.IsNull()) {
DispatchTouchInput(touchEndInput);
}
}
delete [] pInputs;
- mGesture.CloseTouchInputHandle((HTOUCHINPUT)lParam);
+ CloseTouchInputHandle((HTOUCHINPUT)lParam);
return true;
}
// Gesture event processing. Handles WM_GESTURE events.
bool nsWindow::OnGesture(WPARAM wParam, LPARAM lParam)
{
// Treatment for pan events which translate into scroll events:
if (mGesture.IsPanEvent(lParam)) {
@@ -6960,17 +6963,17 @@ bool nsWindow::OnGesture(WPARAM wParam,
endFeedback);
mGesture.UpdatePanFeedbackY(
mWnd,
DeprecatedAbs(RoundDown(wheelEvent.mOverflowDeltaY)),
endFeedback);
mGesture.PanFeedbackFinalize(mWnd, endFeedback);
}
- mGesture.CloseGestureInfoHandle((HGESTUREINFO)lParam);
+ CloseGestureInfoHandle((HGESTUREINFO)lParam);
return true;
}
// Other gestures translate into simple gesture events:
WidgetSimpleGestureEvent event(true, eVoidEvent, this);
if ( !mGesture.ProcessGestureMessage(mWnd, wParam, lParam, event) ) {
return false; // fall through to DefWndProc
@@ -6986,17 +6989,17 @@ bool nsWindow::OnGesture(WPARAM wParam,
nsEventStatus status;
DispatchEvent(&event, status);
if (status == nsEventStatus_eIgnore) {
return false; // Ignored, fall through
}
// Only close this if we process and return true.
- mGesture.CloseGestureInfoHandle((HGESTUREINFO)lParam);
+ CloseGestureInfoHandle((HGESTUREINFO)lParam);
return true; // Handled
}
nsresult
nsWindow::ConfigureChildren(const nsTArray<Configuration>& aConfigurations)
{
// If this is a remotely updated widget we receive clipping, position, and