From 93e107e40cc049ad192763452508a4e5fa22e90b Mon Sep 17 00:00:00 2001 From: "kmcclusk%netscape.com" Date: Wed, 12 Aug 1998 19:54:39 +0000 Subject: [PATCH] Added unix support for PR_ProcessPendingEvents. git-svn-id: svn://10.0.0.236/trunk@7857 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/docshell/base/nsWebShell.cpp | 22 ++++++++++++++++++++++ mozilla/webshell/src/nsWebShell.cpp | 22 ++++++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/mozilla/docshell/base/nsWebShell.cpp b/mozilla/docshell/base/nsWebShell.cpp index f9a4707b48b..9b7ba2a5f04 100644 --- a/mozilla/docshell/base/nsWebShell.cpp +++ b/mozilla/docshell/base/nsWebShell.cpp @@ -71,6 +71,19 @@ static PRLogModuleInfo* gLogModule = PR_NewLogModule("webwidget"); #define WEB_TRACE(_bit,_args) #endif + +#if XP_UNIX + // XXX. This should be changed. + // Allow the event queue to be setup from outside + // the webshell. +PLEventQueue* gWebShell_UnixEventQueue; + +void nsWebShell_SetUnixEventQueue(PLEventQueue* aEventQueue) +{ + gWebShell_UnixEventQueue = aEventQueue; +} +#endif + //---------------------------------------------------------------------- class nsWebShell : public nsIWebShell, @@ -1104,6 +1117,15 @@ OnLinkClickEvent::OnLinkClickEvent(nsWebShell* aHandler, PLEventQueue* eventQueue = PL_GetMainEventQueue(); PL_PostEvent(eventQueue, this); #endif + +#ifdef XP_UNIX + PL_InitEvent(this, nsnull, + (PLHandleEventProc) ::HandlePLEvent, + (PLDestroyEventProc) ::DestroyPLEvent); + + PL_PostEvent(gWebShell_UnixEventQueue, this); +#endif + } OnLinkClickEvent::~OnLinkClickEvent() diff --git a/mozilla/webshell/src/nsWebShell.cpp b/mozilla/webshell/src/nsWebShell.cpp index f9a4707b48b..9b7ba2a5f04 100644 --- a/mozilla/webshell/src/nsWebShell.cpp +++ b/mozilla/webshell/src/nsWebShell.cpp @@ -71,6 +71,19 @@ static PRLogModuleInfo* gLogModule = PR_NewLogModule("webwidget"); #define WEB_TRACE(_bit,_args) #endif + +#if XP_UNIX + // XXX. This should be changed. + // Allow the event queue to be setup from outside + // the webshell. +PLEventQueue* gWebShell_UnixEventQueue; + +void nsWebShell_SetUnixEventQueue(PLEventQueue* aEventQueue) +{ + gWebShell_UnixEventQueue = aEventQueue; +} +#endif + //---------------------------------------------------------------------- class nsWebShell : public nsIWebShell, @@ -1104,6 +1117,15 @@ OnLinkClickEvent::OnLinkClickEvent(nsWebShell* aHandler, PLEventQueue* eventQueue = PL_GetMainEventQueue(); PL_PostEvent(eventQueue, this); #endif + +#ifdef XP_UNIX + PL_InitEvent(this, nsnull, + (PLHandleEventProc) ::HandlePLEvent, + (PLDestroyEventProc) ::DestroyPLEvent); + + PL_PostEvent(gWebShell_UnixEventQueue, this); +#endif + } OnLinkClickEvent::~OnLinkClickEvent()