Use uint64_t instead of LPARAM
LPARAM is defined to differnt types on differnt machines with different SDKs, so there is no way to represent it on all platforms safely, using uint64_t seems to be the only safe choice.
This commit is contained in:
parent
5fd310c75f
commit
b86267aa3b
4 changed files with 7 additions and 15 deletions
|
@ -42,14 +42,6 @@ struct Converter<atom::TaskbarHost::ThumbarButton> {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
template<>
|
|
||||||
struct Converter<LPARAM> {
|
|
||||||
static v8::Local<v8::Value> ToV8(v8::Isolate* isolate,
|
|
||||||
LPARAM val) {
|
|
||||||
return ConvertToV8(isolate, static_cast<int64_t>(val));
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace mate
|
} // namespace mate
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -198,7 +190,7 @@ void Window::OnExecuteWindowsCommand(const std::string& command_name) {
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(OS_WIN)
|
#if defined(OS_WIN)
|
||||||
void Window::OnWindowMessage(UINT message, WPARAM w_param, LPARAM l_param) {
|
void Window::OnWindowMessage(UINT message, WPARAM w_param, uint64_t l_param) {
|
||||||
if (IsWindowMessageHooked(message)) {
|
if (IsWindowMessageHooked(message)) {
|
||||||
messages_callback_map_[message].Run(w_param, l_param);
|
messages_callback_map_[message].Run(w_param, l_param);
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,8 +77,7 @@ class Window : public mate::TrackableObject<Window>,
|
||||||
void OnExecuteWindowsCommand(const std::string& command_name) override;
|
void OnExecuteWindowsCommand(const std::string& command_name) override;
|
||||||
|
|
||||||
#if defined(OS_WIN)
|
#if defined(OS_WIN)
|
||||||
void OnWindowMessage(UINT message, WPARAM w_param,
|
void OnWindowMessage(UINT message, WPARAM w_param, uint64_t l_param) override;
|
||||||
LPARAM l_param) override;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// mate::Wrappable:
|
// mate::Wrappable:
|
||||||
|
@ -150,7 +149,7 @@ class Window : public mate::TrackableObject<Window>,
|
||||||
void SetAspectRatio(double aspect_ratio, mate::Arguments* args);
|
void SetAspectRatio(double aspect_ratio, mate::Arguments* args);
|
||||||
|
|
||||||
#if defined(OS_WIN)
|
#if defined(OS_WIN)
|
||||||
typedef base::Callback<void(WPARAM, LPARAM)> MessageCallback;
|
typedef base::Callback<void(WPARAM, uint64_t)> MessageCallback;
|
||||||
typedef std::map<UINT, MessageCallback> MessageCallbackMap;
|
typedef std::map<UINT, MessageCallback> MessageCallbackMap;
|
||||||
MessageCallbackMap messages_callback_map_;
|
MessageCallbackMap messages_callback_map_;
|
||||||
|
|
||||||
|
|
|
@ -467,8 +467,9 @@ void NativeWindow::NotifyWindowExecuteWindowsCommand(
|
||||||
#if defined(OS_WIN)
|
#if defined(OS_WIN)
|
||||||
void NativeWindow::NotifyWindowMessage(UINT message, WPARAM w_param,
|
void NativeWindow::NotifyWindowMessage(UINT message, WPARAM w_param,
|
||||||
LPARAM l_param) {
|
LPARAM l_param) {
|
||||||
FOR_EACH_OBSERVER(NativeWindowObserver, observers_,
|
FOR_EACH_OBSERVER(
|
||||||
OnWindowMessage(message, w_param, l_param));
|
NativeWindowObserver, observers_,
|
||||||
|
OnWindowMessage(message, w_param, static_cast<uint64_t>(l_param)));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -61,7 +61,7 @@ class NativeWindowObserver {
|
||||||
|
|
||||||
// Called when window message received
|
// Called when window message received
|
||||||
#if defined(OS_WIN)
|
#if defined(OS_WIN)
|
||||||
virtual void OnWindowMessage(UINT message, WPARAM w_param, LPARAM l_param) {}
|
virtual void OnWindowMessage(UINT message, WPARAM wparam, uint64_t lparam) {}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Called when renderer is hung.
|
// Called when renderer is hung.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue