[Pkg-mozext-commits] [firetray] 14/84: fix SendMessage'ing to any window

David Prévot taffit at moszumanska.debian.org
Sun Jul 20 01:42:42 UTC 2014


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository firetray.

commit 40cf41e97d5881eb7278ef9a782fa1d643a5fcc1
Author: foudfou <foudil.newbie+git at gmail.com>
Date:   Wed Dec 4 23:49:50 2013 +0100

    fix SendMessage'ing to any window
    
    still crashes for FF windows with our hook registered
---
 src/modules/ctypes/winnt/kernel32.jsm    |  1 -
 src/modules/ctypes/winnt/user32.jsm      |  4 +++-
 src/modules/ctypes/winnt/win32.jsm       |  1 +
 src/modules/winnt/FiretrayStatusIcon.jsm | 26 +++++++++++++-------------
 src/modules/winnt/FiretrayWindow.jsm     |  4 ----
 5 files changed, 17 insertions(+), 19 deletions(-)

diff --git a/src/modules/ctypes/winnt/kernel32.jsm b/src/modules/ctypes/winnt/kernel32.jsm
index a9d975a..a6d40e7 100644
--- a/src/modules/ctypes/winnt/kernel32.jsm
+++ b/src/modules/ctypes/winnt/kernel32.jsm
@@ -35,7 +35,6 @@ function kernel32_defines(lib) {
   lib.lazy_bind("GetProcAddress", win32.FARPROC, win32.HMODULE, win32.LPCSTR);
   lib.lazy_bind("GetCurrentThreadId", win32.DWORD);
 
-
 }
 
 new ctypes_library(KERNEL32_LIBNAME, KERNEL32_ABIS, kernel32_defines, this);
diff --git a/src/modules/ctypes/winnt/user32.jsm b/src/modules/ctypes/winnt/user32.jsm
index 154999f..f894413 100644
--- a/src/modules/ctypes/winnt/user32.jsm
+++ b/src/modules/ctypes/winnt/user32.jsm
@@ -32,7 +32,7 @@ function user32_defines(lib) {
   lib.lazy_bind("GetWindowTextW", ctypes.int, win32.HWND, win32.LPTSTR, ctypes.int);
   lib.lazy_bind("FindWindowW", win32.HWND, win32.LPCTSTR, win32.LPCTSTR);
 
-  lib.lazy_bind("SendMessageW", win32.LRESULT, win32.HWND, win32.UINT, win32.WPARAM, win32.WPARAM);
+  lib.lazy_bind("SendMessageW", win32.LRESULT, win32.HWND, win32.UINT, win32.WPARAM, win32.LPARAM);
   this.WM_GETICON = 0x007F;
   this.ICON_SMALL  = 0;
   this.ICON_BIG    = 1;
@@ -183,6 +183,8 @@ function user32_defines(lib) {
   this.HC_SYSMODALON  = 4;
   this.HC_SYSMODALOFF = 5;
 
+  lib.lazy_bind("GetWindowThreadProcessId", win32.DWORD, win32.HWND, win32.LPDWORD);
+
 }
 
 new ctypes_library(USER32_LIBNAME, USER32_ABIS, user32_defines, this);
diff --git a/src/modules/ctypes/winnt/win32.jsm b/src/modules/ctypes/winnt/win32.jsm
index 15e554c..05f6234 100644
--- a/src/modules/ctypes/winnt/win32.jsm
+++ b/src/modules/ctypes/winnt/win32.jsm
@@ -24,6 +24,7 @@ var win32 = new function() {
   this.UINT_PTR  = is64bit ? ctypes.uint64_t : ctypes.unsigned_int;
   this.WORD      = ctypes.unsigned_short;
   this.DWORD     = ctypes.unsigned_long;
+  this.LPDWORD   = this.DWORD.ptr;
   this.PVOID     = ctypes.voidptr_t;
   this.LPVOID    = ctypes.voidptr_t;
   this.LONG      = ctypes.long;
diff --git a/src/modules/winnt/FiretrayStatusIcon.jsm b/src/modules/winnt/FiretrayStatusIcon.jsm
index 49ff851..51a5af5 100644
--- a/src/modules/winnt/FiretrayStatusIcon.jsm
+++ b/src/modules/winnt/FiretrayStatusIcon.jsm
@@ -132,19 +132,6 @@ firetray.StatusIcon = {
       switch (+lParam) {
       case win32.WM_LBUTTONUP:
         log.debug("WM_LBUTTONUP");
-        let rv = user32.SendMessageW(hWnd, firetray.Win32.WM_TRAYMESSAGEFWD, 0, 1);
-        break;
-      case win32.WM_RBUTTONUP:
-        log.debug("WM_RBUTTONUP");
-        break;
-      case win32.WM_CONTEXTMENU:
-        log.debug("WM_CONTEXTMENU");
-        break;
-      case win32.NIN_KEYSELECT:
-        log.debug("NIN_KEYSELECT");
-        break;
-      default:
-      }
 
 try {
 
@@ -158,6 +145,19 @@ try {
 log.error(error);
   }
 
+        break;
+      case win32.WM_RBUTTONUP:
+        log.debug("WM_RBUTTONUP");
+        break;
+      case win32.WM_CONTEXTMENU:
+        log.debug("WM_CONTEXTMENU");
+        break;
+      case win32.NIN_KEYSELECT:
+        log.debug("NIN_KEYSELECT");
+        break;
+      default:
+      }
+
     }
 
     return user32.DefWindowProcW(hWnd, uMsg, wParam, lParam);
diff --git a/src/modules/winnt/FiretrayWindow.jsm b/src/modules/winnt/FiretrayWindow.jsm
index 1eb505e..ad6e98d 100644
--- a/src/modules/winnt/FiretrayWindow.jsm
+++ b/src/modules/winnt/FiretrayWindow.jsm
@@ -164,7 +164,6 @@ firetray.Handler.registerWindow = function(win) {
   firetray.Window.updateVisibility(wid, true);
   log.debug("window "+wid+" registered");
 
-/*
   try {
     let callProcHook = user32.HOOKPROC(firetray.Window.callProcHook);
     log.debug("callhk="+callProcHook);
@@ -184,7 +183,6 @@ firetray.Handler.registerWindow = function(win) {
                 +firetray.Handler.appName+".");
     else win.alert(x);
   }
-*/
 
   log.debug("AFTER"); firetray.Handler.dumpWindows();
   return wid;
@@ -202,10 +200,8 @@ firetray.Handler.unregisterWindow = function(win) {
 
   if (!delete firetray.Handler.windows[wid])
     throw new DeleteError();
-/*
   user32.UnhookWindowsHookEx(firetray.Handler.callProcHooks.get(wid));
   firetray.Handler.callProcHooks.remove(wid);
-*/
   firetray.Handler.windowsCount -= 1;
   firetray.Handler.visibleWindowsCount -= 1;
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/firetray.git



More information about the Pkg-mozext-commits mailing list