diff -up ./esc/src/app/daemon/manifest.mn.fix9 ./esc/src/app/daemon/manifest.mn
--- ./esc/src/app/daemon/manifest.mn.fix9 2011-03-24 12:35:31.481712082 -0700
+++ ./esc/src/app/daemon/manifest.mn 2011-03-24 12:35:39.758712086 -0700
@@ -37,7 +37,7 @@ DEFINES += $(shell pkg-config --cflags x
CPPFLAGS += $(DEFINES) -g
LDFLAGS += -lstdc++ -L$(CORE_DIST)/$(OBJDIR)/lib -L$(XULRUNNER_LIBS_LDFLAGS) -lnss3 -lnspr4 -lssl3 -lckyapplet $(shell pkg-config --libs xft)
-LDFLAGS += -lckymanager -lhttpchunked -lm -lnss3 -lplc4 -lplds4
+LDFLAGS += -lckymanager -lhttpchunked -lm -lnss3 -lplc4 -lplds4 -lX11
# MODULE public and private header directories are implicitly REQUIRED.
CPPSRCS = \
diff -up ./esc/src/app/xpcom/rhCoolKey.cpp.fix9 ./esc/src/app/xpcom/rhCoolKey.cpp
--- ./esc/src/app/xpcom/rhCoolKey.cpp.fix9 2011-03-24 12:37:10.273712093 -0700
+++ ./esc/src/app/xpcom/rhCoolKey.cpp 2011-03-24 12:37:18.813712092 -0700
@@ -70,6 +70,7 @@
#define PSM_COMPONENT_CONTRACTID "@mozilla.org/psm;1"
#define NS_CERTOVERRIDE_CONTRACTID "@mozilla.org/security/certoverride;1"
+#define RH_COOLKEY_CONTRACTID "@redhat.com/rhCoolKey;1"
static const nsIID kIModuleIID = NS_IMODULE_IID;
static const nsIID kIFactoryIID = NS_IFACTORY_IID;
@@ -1711,297 +1712,36 @@ NS_IMETHODIMP rhCoolKey::GetCoolKeyVersi
NS_GENERIC_FACTORY_CONSTRUCTOR(rhCoolKey)
-NS_IMPL_ISUPPORTS1(rhCoolKey,rhICoolKey)
-
-// Implement full module and factory dance so we can see what is going on
-
-class rhCoolKeyFactory: public nsIFactory{
-private:
-nsrefcnt mRefCnt;
-public:
-rhCoolKeyFactory();
-virtual ~rhCoolKeyFactory();
-
-NS_IMETHOD QueryInterface(const nsIID &aIID, void **aResult);
-NS_IMETHOD_(nsrefcnt) AddRef(void);
-NS_IMETHOD_(nsrefcnt) Release(void);
-
-NS_IMETHOD CreateInstance(nsISupports *aOuter, const nsIID & iid, void * *result);
-NS_IMETHOD LockFactory(PRBool lock);
-
+// Build a table of ClassIDs (CIDs) which are implemented by this module. CIDs
+// // should be completely unique UUIDs.
+// // each entry has the form { CID, service, factoryproc, constructorproc }
+// // where factoryproc is usually NULL.
+static const mozilla::Module::CIDEntry kCoolKeyCIDs[] = {
+ { &kCoolKeyCID, false, NULL, rhCoolKeyConstructor },
+ { NULL }
+ };
+
+// Build a table which maps contract IDs to CIDs.
+// // A contract is a string which identifies a particular set of functionality. In some
+// // cases an extension component may override the contract ID of a builtin gecko component
+// // to modify or extend functionality.
+//
+static const mozilla::Module::ContractIDEntry kCoolKeyContracts[] = {
+ { RH_COOLKEY_CONTRACTID, &kCoolKeyCID },
+ { NULL }
};
-rhCoolKeyFactory::rhCoolKeyFactory()
-{
-mRefCnt = 0;
-}
-rhCoolKeyFactory::~rhCoolKeyFactory()
-{
-}
-
-NS_IMETHODIMP rhCoolKeyFactory::QueryInterface(const nsIID &aIID,
-void **aResult)
-{
-if (aResult == NULL) {
-return NS_ERROR_NULL_POINTER;
-}
-*aResult = NULL;
-if (aIID.Equals(kISupportsIID)) {
-*aResult = (void *) this;
-}
-else
-if (aIID.Equals(kIFactoryIID)) {
-*aResult = (void *) this;
-}
-
-if (*aResult == NULL) {
-return NS_ERROR_NO_INTERFACE;
-}
-
-AddRef();
-return NS_OK;
-}
-
-NS_IMETHODIMP_(nsrefcnt) rhCoolKeyFactory::AddRef()
-{
-return ++mRefCnt;
-}
-
-
-NS_IMETHODIMP_(nsrefcnt) rhCoolKeyFactory::Release()
-{
-if (--mRefCnt == 0) {
-delete this;
-return 0;
-}
-return mRefCnt;
-}
-
-
-NS_IMETHODIMP
-rhCoolKeyFactory::CreateInstance(nsISupports *aOuter, const nsIID & iid, void * *result)
-{
-if (!result)
-return NS_ERROR_INVALID_ARG;
-
-rhCoolKey* sample = new rhCoolKey();
-if (!sample)
-return NS_ERROR_OUT_OF_MEMORY;
-
-nsresult rv = sample->QueryInterface(iid, result);
-
-if (NS_FAILED(rv)) {
-*result = nsnull;
-delete sample;
-}
-
-return rv;
-}
-
-
-NS_IMETHODIMP
-rhCoolKeyFactory::LockFactory(PRBool lock)
-{
-return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-// Module implementation
-class rhCoolKeyModule : public nsIModule
-{
-public:
-rhCoolKeyModule();
-virtual ~rhCoolKeyModule();
-
-// nsISupports methods:
-NS_IMETHOD QueryInterface(const nsIID & uuid, void * *result);
-NS_IMETHOD_(nsrefcnt) AddRef(void);
-NS_IMETHOD_(nsrefcnt) Release(void);
-
-// nsIModule methods:
-NS_IMETHOD GetClassObject(nsIComponentManager *aCompMgr, const nsCID & aClass, const nsIID & aIID, void * *aResult);
-NS_IMETHOD RegisterSelf(nsIComponentManager *aCompMgr, nsIFile *aLocation, const char *aLoaderStr, const char *aType);
-NS_IMETHOD UnregisterSelf(nsIComponentManager *aCompMgr, nsIFile *aLocation, const char *aLoaderStr);
-NS_IMETHOD CanUnload(nsIComponentManager *aCompMgr, PRBool *_retval);
-
-private:
-nsrefcnt mRefCnt;
+static const mozilla::Module kCoolKeyModule = {
+ mozilla::Module::kVersion,
+ kCoolKeyCIDs,
+ kCoolKeyContracts,
+ NULL
};
+// The following line implements the one-and-only "NSModule" symbol exported from this
+// // shared library.
+ NSMODULE_DEFN(rhCoolKeyModule) = &kCoolKeyModule;
+//
-//----------------------------------------------------------------------
-
-rhCoolKeyModule::rhCoolKeyModule()
-{
-mRefCnt = 0;
-}
-
-rhCoolKeyModule::~rhCoolKeyModule()
-{
-}
-
-// nsISupports implemention
-NS_IMETHODIMP_(nsrefcnt)
-rhCoolKeyModule::AddRef(void)
-{
-char tBuff[56];
-PR_LOG( coolKeyLog, PR_LOG_DEBUG, ("%s rhCoolKeyModule::AddRef \n",GetTStamp(tBuff,56)));
-++mRefCnt;
-return mRefCnt;
-}
-
-
-NS_IMETHODIMP_(nsrefcnt)
-rhCoolKeyModule::Release(void)
-{
-char tBuff[56];
-PR_LOG( coolKeyLog, PR_LOG_DEBUG, ("%s rhCoolKeyModule::Release : mRefCnt %d \n",GetTStamp(tBuff,56),mRefCnt - 1));
---mRefCnt;
-if (mRefCnt == 0) {
-mRefCnt = 1; /* stabilize */
-PR_LOG( coolKeyLog, PR_LOG_DEBUG, ("%s rhCoolKeyModule::Release deleting Module \n",GetTStamp(tBuff,56)));
-delete this;
-return 0;
-}
-return mRefCnt;
-}
-
-
-NS_IMETHODIMP
-rhCoolKeyModule::QueryInterface(REFNSIID aIID, void** aInstancePtr)
-{
-char tBuff[56];
-PR_LOG( coolKeyLog, PR_LOG_DEBUG, ("%s rhCoolKeyModule::QueryInterface \n",GetTStamp(tBuff,56)));
-if ( !aInstancePtr )
-return NS_ERROR_NULL_POINTER;
-
-nsISupports* foundInterface;
-
-if ( aIID.Equals(kIModuleIID) )
-foundInterface = (nsIModule*) this;
-
-else if ( aIID.Equals(kISupportsIID) )
-foundInterface = (nsISupports*) this;
-
-else
-foundInterface = 0;
-
-if (foundInterface) {
-foundInterface->AddRef();
-*aInstancePtr = foundInterface;
-return NS_OK;
-}
-
-*aInstancePtr = foundInterface;
-return NS_NOINTERFACE;
-}
-
-
-// Create a factory object for creating instances of aClass.
-NS_IMETHODIMP
-rhCoolKeyModule::GetClassObject(nsIComponentManager *aCompMgr,
-const nsCID& aClass,
-const nsIID& aIID,
-void** result)
-{
-char tBuff[56];
-PR_LOG( coolKeyLog, PR_LOG_DEBUG, ("%s rhCoolKeyModule::GetClassObject \n",GetTStamp(tBuff,56)));
-if (!kCoolKeyCID.Equals(aClass))
-return NS_ERROR_FACTORY_NOT_REGISTERED;
-
-if (!result)
-return NS_ERROR_INVALID_ARG;
-
-rhCoolKeyFactory* factory = new rhCoolKeyFactory();
-if (!factory)
-return NS_ERROR_OUT_OF_MEMORY;
-
-nsresult rv = factory->QueryInterface(aIID, result);
-
-if (NS_FAILED(rv)) {
-*result = nsnull;
-delete factory;
-}
-
-return rv;
-}
-
-
-NS_IMETHODIMP
-rhCoolKeyModule::RegisterSelf(nsIComponentManager *aCompMgr,
-nsIFile* aPath,
-const char* registryLocation,
-const char* componentType)
-{
-
-char tBuff[54];
-nsIComponentRegistrar* compReg = nsnull;
-
-PR_LOG( coolKeyLog, PR_LOG_DEBUG, ("%s rhCoolKeyModule::RegisterSelf \n",GetTStamp(tBuff,56)));
-nsresult rv = aCompMgr->QueryInterface(kIComponentRegistrarIID, (void**)&compReg);
-if (NS_FAILED(rv))
-return rv;
-
-rv = compReg->RegisterFactoryLocation(kCoolKeyCID,
-"CoolKey",
-"@redhat.com/rhCoolKey",
-aPath,
-registryLocation,
-componentType);
-
-compReg->Release();
-
-return rv;
-}
-
-NS_IMETHODIMP
-rhCoolKeyModule::UnregisterSelf(nsIComponentManager* aCompMgr,
-nsIFile* aPath,
-const char* registryLocation)
-{
-char tBuff[56];
-PR_LOG( coolKeyLog, PR_LOG_DEBUG, ("%s rhCoolKeyModule::UnregisterSelf \n",GetTStamp(tBuff,56)));
-nsIComponentRegistrar* compReg = nsnull;
-
-nsresult rv = aCompMgr->QueryInterface(kIComponentRegistrarIID, (void**)&compReg);
-if (NS_FAILED(rv))
-return rv;
-
-rv = compReg->UnregisterFactoryLocation(kCoolKeyCID, aPath);
-
-compReg->Release();
-
-return rv;
-}
-
-NS_IMETHODIMP
-rhCoolKeyModule::CanUnload(nsIComponentManager *aCompMgr, PRBool *okToUnload)
-{
-*okToUnload = PR_FALSE; // we do not know how to unload.
-return NS_OK;
-}
-
-
-//----------------------------------------------------------------------
-
-extern "C" NS_EXPORT nsresult NSGetModule(nsIComponentManager *servMgr,
-nsIFile* location,
-nsIModule** return_cobj)
-{
-nsresult rv = NS_OK;
-
-char tBuff[56];
-PR_LOG( coolKeyLog, PR_LOG_DEBUG, ("%s rhCoolKeyModule::NSGetModule \n",GetTStamp(tBuff,56)));
-
-// Create and initialize the module instance
-rhCoolKeyModule *m = new rhCoolKeyModule();
-if (!m) {
-return NS_ERROR_OUT_OF_MEMORY;
-}
+NS_IMPL_ISUPPORTS1(rhCoolKey,rhICoolKey)
-// Increase refcnt and store away nsIModule interface to m in return_cobj
-rv = m->QueryInterface(kIModuleIID, (void**)return_cobj);
-if (NS_FAILED(rv)) {
-delete m;
-}
-return rv;
-}
diff -up ./esc/src/app/xpcom/rhCoolKey.h.fix9 ./esc/src/app/xpcom/rhCoolKey.h
--- ./esc/src/app/xpcom/rhCoolKey.h.fix9 2011-03-24 12:40:07.291712102 -0700
+++ ./esc/src/app/xpcom/rhCoolKey.h 2011-03-24 12:40:15.644712108 -0700
@@ -19,7 +19,9 @@
#define RH_COOLKEY_H
#include "rhICoolKey.h"
-#include "nsIGenericFactory.h"
+/*#include "nsIGenericFactory.h" */
+#include "mozilla/ModuleUtils.h"
+#include "nsIClassInfoImpl.h"
#include "nsEmbedString.h"
#include <list>
#include "nspr.h"
diff -up ./esc/src/app/xpcom/rhICoolKey.idl.fix9 ./esc/src/app/xpcom/rhICoolKey.idl
--- ./esc/src/app/xpcom/rhICoolKey.idl.fix9 2011-03-24 12:42:27.595712113 -0700
+++ ./esc/src/app/xpcom/rhICoolKey.idl 2011-03-24 12:42:39.069712124 -0700
@@ -17,12 +17,11 @@
#include "nsISupports.idl"
#include "rhIKeyNotify.idl"
-#include "nsIObserver.idl"
+//#include "nsIObserver.idl"
-interface nsIDOMHTMLDocument;
[scriptable,uuid(ea54eee4-9548-4b63-b94d-c519ffc91d09)]
-interface rhICoolKey: nsISupports
+interface rhICoolKey:nsISupports
{
void rhNotifyKeyStateChange(in unsigned long aKeyType, in string aKeyID, in unsigned long aKeyState, in unsigned long aData, in string strData);
diff -up ./esc/src/app/xpcom/tray/rhLinuxTray.cpp.fix9 ./esc/src/app/xpcom/tray/rhLinuxTray.cpp
--- ./esc/src/app/xpcom/tray/rhLinuxTray.cpp.fix9 2011-03-24 12:43:20.262712118 -0700
+++ ./esc/src/app/xpcom/tray/rhLinuxTray.cpp 2011-03-24 12:43:34.767712121 -0700
@@ -18,14 +18,17 @@
#define FORCE_PR_LOG 1
#include "rhTray.h"
-#include "nsIGenericFactory.h"
+#include "mozilla/ModuleUtils.h"
#include <prlog.h>
#include "notifytray.h"
#include "nsIStringBundle.h"
#include <gdk/gdkx.h>
#include <stdlib.h>
-NS_IMPL_ISUPPORTS1(rhTray, rhITray)
+#define RH_COOLKEY_TRAY_CONTRACTID "@redhat.com/rhTray;1"
+
+static const nsCID kCoolKeyTrayCID = RH_TRAY_CID;
+
GtkWidget* rhTray::mWnd = NULL;
GtkWidget* rhTray::mIconMenu = NULL;
@@ -861,15 +864,36 @@ gboolean rhTrayWindowListener::WndDelete
NS_GENERIC_FACTORY_CONSTRUCTOR(rhTray)
-//rhTray Module Implementation
+// Build a table of ClassIDs (CIDs) which are implemented by this module. CIDs
+// // // should be completely unique UUIDs.
+// // // each entry has the form { CID, service, factoryproc, constructorproc }
+// // // where factoryproc is usually NULL.
+
+static const mozilla::Module::CIDEntry kCoolKeyTrayCIDs[] = {
+ { &kCoolKeyTrayCID, false, NULL, rhTrayConstructor },
+ { NULL }
+};
-static const nsModuleComponentInfo components[] =
-{
- { "rhTray",
- RH_TRAY_CID,
- "@redhat.com/rhTray",
- rhTrayConstructor
- }
+// Build a table which maps contract IDs to CIDs.
+// A contract is a string which identifies a particular set of functionality. In some
+// cases an extension component may override the contract ID of a builtin gecko component
+// to modify or extend functionality.
+
+static const mozilla::Module::ContractIDEntry kCoolKeyTrayContracts[] = {
+ { RH_COOLKEY_TRAY_CONTRACTID, &kCoolKeyTrayCID },
+ { NULL }
};
-NS_IMPL_NSGETMODULE(rhTrayModule, components)
+static const mozilla::Module kCoolKeyTrayModule = {
+ mozilla::Module::kVersion,
+ kCoolKeyTrayCIDs,
+ kCoolKeyTrayContracts,
+ NULL
+};
+
+// The following line implements the one-and-only "NSModule" symbol exported from this
+// shared library.
+NSMODULE_DEFN(rhCoolKeyTrayModule) = &kCoolKeyTrayModule;
+
+NS_IMPL_ISUPPORTS1(rhTray,rhITray)
+
diff -up ./esc/src/app/xpcom/tray/rhTray.h.fix9 ./esc/src/app/xpcom/tray/rhTray.h
--- ./esc/src/app/xpcom/tray/rhTray.h.fix9 2011-03-24 12:44:10.035712119 -0700
+++ ./esc/src/app/xpcom/tray/rhTray.h 2011-03-24 12:44:19.059712129 -0700
@@ -19,7 +19,8 @@
#define RH_TRAY_H
#include "rhITray.h"
-#include "nsIGenericFactory.h"
+//#include "nsIGenericFactory.h"
+//#include mozilla/ModuleUtils.h
#include "nsEmbedString.h"
#include <list>
#include "nsCOMPtr.h"
diff -up ./esc/src/app/xul/esc/application.ini.fix9 ./esc/src/app/xul/esc/application.ini
--- ./esc/src/app/xul/esc/application.ini.fix9 2011-03-24 12:45:51.087712126 -0700
+++ ./esc/src/app/xul/esc/application.ini 2011-03-24 12:46:01.780712129 -0700
@@ -25,11 +25,11 @@ Vendor=RedHat
Name=ESC
;
; This field specifies your application's version. This field is optional.
-Version=1.1.0-12
+Version=1.1.0-13
;
; This field specifies your application's build ID (timestamp). This field is
; required.
-BuildID=0000001012
+BuildID=0000001013
;
; This ID is just an example. Every XUL app ought to have it's own unique ID.
; You can use the microsoft "guidgen" or "uuidgen" tools, or go on
@@ -41,12 +41,12 @@ ID={6380471b-1924-4b48-b652-49f42951af86
; This field is required. It specifies the minimum Gecko version that this
; application requires. Specifying 1.8 matches all releases with a version
; prefixed by 1.8 (e.g., 1.8a4, 1.8b, 1.8.2).
-MinVersion=1.9
+MinVersion=1.99
;
; This field is optional. It specifies the maximum Gecko version that this
; application requires. It should be specified if your application uses
; unfrozen interfaces. Specifying 1.8 matches all releases with a version
; prefixed by 1.8 (e.g., 1.8a4, 1.8b, 1.8.2).
-MaxVersion=1.99
+MaxVersion=2.99
[Shell]
diff -up ./esc/src/app/xul/esc/chrome/chrome.manifest.fix9 ./esc/src/app/xul/esc/chrome/chrome.manifest
--- ./esc/src/app/xul/esc/chrome/chrome.manifest.fix9 2011-03-24 12:52:14.601712157 -0700
+++ ./esc/src/app/xul/esc/chrome/chrome.manifest 2011-03-24 12:52:23.723712155 -0700
@@ -1,19 +0,0 @@
-# BEGIN COPYRIGHT BLOCK
-# This Program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; version 2 of the License.
-#
-# This Program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place, Suite 330, Boston, MA 02111-1307 USA.
-#
-# Copyright (C) 2005 Red Hat, Inc.
-# All rights reserved.
-# END COPYRIGHT BLOCK
-
-content esc content/esc/
-locale esc en-US locale/en-US/
diff -up ./esc/src/app/xul/esc/chrome/content/esc/ESC.js.fix9 ./esc/src/app/xul/esc/chrome/content/esc/ESC.js
--- ./esc/src/app/xul/esc/chrome/content/esc/ESC.js.fix9 2011-03-24 12:52:49.995712156 -0700
+++ ./esc/src/app/xul/esc/chrome/content/esc/ESC.js 2011-03-24 12:52:59.829712160 -0700
@@ -132,7 +132,7 @@ jsNotify.prototype = {
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- netkey = Components.classes["@redhat.com/rhCoolKey"].getService();
+ netkey = Components.classes["@redhat.com/rhCoolKey;1"].getService();
netkey = netkey.QueryInterface(Components.interfaces.rhICoolKey);
gNotify = new jsNotify;
netkey.rhCoolKeySetNotifyCallback(gNotify);
diff -up ./esc/src/app/xul/esc/chrome/content/esc/TRAY.js.fix9 ./esc/src/app/xul/esc/chrome/content/esc/TRAY.js
--- ./esc/src/app/xul/esc/chrome/content/esc/TRAY.js.fix9 2011-03-24 12:53:21.344712157 -0700
+++ ./esc/src/app/xul/esc/chrome/content/esc/TRAY.js 2011-03-24 12:53:28.456712159 -0700
@@ -63,7 +63,7 @@ jsWindNotify.prototype = {
// GECKO ONLY initialization
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- gTray = Components.classes["@redhat.com/rhTray"].getService();
+ gTray = Components.classes["@redhat.com/rhTray;1"].getService();
gTray = gTray.QueryInterface(Components.interfaces.rhITray);
diff -up ./esc/src/app/xul/esc/chrome.manifest.fix9 ./esc/src/app/xul/esc/chrome.manifest
--- ./esc/src/app/xul/esc/chrome.manifest.fix9 2011-03-24 12:49:14.983712140 -0700
+++ ./esc/src/app/xul/esc/chrome.manifest 2011-03-24 12:49:47.350712147 -0700
@@ -0,0 +1,33 @@
+# BEGIN COPYRIGHT BLOCK
+# This Program is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; version 2 of the License.
+#
+# This Program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple
+# Place, Suite 330, Boston, MA 02111-1307 USA.
+#
+# Copyright (C) 2005 Red Hat, Inc.
+# All rights reserved.
+# END COPYRIGHT BLOCK
+
+content esc chrome/content/esc/
+locale esc en-US chrome/locale/en-US/
+
+interfaces components/rhICoolKey.xpt
+interfaces components/rhIKeyNotify.xpt
+interfaces components/rhITray.xpt
+interfaces components/rhITrayWindNotify.xpt
+
+
+binary-component components/librhCoolKey.so
+binary-component components/librhTray.so
+
+
+component {36c65861-52a8-4ce9-aa3b-235b88216ed4} components/escCLH.js
+contract @redhat.com/esc-clh;1 {36c65861-52a8-4ce9-aa3b-235b88216ed4}
+category command-line-handler escCLH @redhat.com/esc-clh;1
diff -up ./esc/src/app/xul/esc/components/escCLH.js.fix9 ./esc/src/app/xul/esc/components/escCLH.js
--- ./esc/src/app/xul/esc/components/escCLH.js.fix9 2011-03-24 12:54:15.072712160 -0700
+++ ./esc/src/app/xul/esc/components/escCLH.js 2011-03-24 12:54:53.868712165 -0700
@@ -2,6 +2,8 @@
* -myapp commandline handler; starts up My App.
*/
+ Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
+
const nsIAppShellService = Components.interfaces.nsIAppShellService;
const nsISupports = Components.interfaces.nsISupports;
const nsICategoryManager = Components.interfaces.nsICategoryManager;
@@ -20,20 +22,26 @@
consoleService.logStringMessage("esc: " + message + "\n");
}
+Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
+
/*
* Classes
*/
+
+function escCLH() {}
- const escCLH = {
+ escCLH.prototype = {
+
+
+ contractID: "@redhat.com/esc-clh;1",
+ classID: Components.ID("{36c65861-52a8-4ce9-aa3b-235b88216ed4}"),
+ // const clh_category = "c-esc";
+
+
/* nsISupports */
- QueryInterface : function clh_QI(iid) {
- if (iid.equals(nsICommandLineHandler) ||
- iid.equals(nsIFactory) ||
- iid.equals(nsISupports))
- return this;
- throw Components.results.NS_ERROR_NO_INTERFACE;
- },
+ QueryInterface : XPCOMUtils.generateQI([nsICommandLineHandler]),
+
/* nsICommandLineHandler */
@@ -91,76 +99,8 @@
helpInfo : " -myapp Open the My App.\n",
- /* nsIFactory */
-
- createInstance : function clh_CI(outer, iid) {
- if (outer != null)
- throw Components.results.NS_ERROR_NO_AGGREGATION;
-
- return this.QueryInterface(iid);
- },
-
- lockFactory : function clh_lock(lock) {
- /* no-op */
- }
- };
-
- const clh_contractID = "@redhat.com/esc-clh;1";
- const clh_CID = Components.ID("{36c65861-52a8-4ce9-aa3b-235b88216ed4}");
- const clh_category = "c-esc";
-
- const escCLHModule = {
- /* nsISupports */
-
- QueryInterface : function mod_QI(iid) {
- if (iid.equals(nsIModule) ||
- iid.equals(nsISupports))
- return this;
-
- throw Components.results.NS_ERROR_NO_INTERFACE;
- },
-
- /* nsIModule */
- getClassObject : function mod_gch(compMgr, cid, iid) {
- if (cid.equals(clh_CID))
- return escCLH.QueryInterface(iid);
-
- throw Components.results.NS_ERROR_NOT_REGISTERED;
- },
-
- registerSelf : function mod_regself(compMgr, fileSpec, location, type) {
- compMgr.QueryInterface(nsIComponentRegistrar);
-
- compMgr.registerFactoryLocation(clh_CID,
- "escCLH",
- clh_contractID,
- fileSpec,
- location,
- type);
-
- var catMan = Components.classes["@mozilla.org/categorymanager;1"]
- .getService(nsICategoryManager);
- catMan.addCategoryEntry("command-line-handler",
- clh_category,
- clh_contractID, true, true);
- },
-
- unregisterSelf : function mod_unreg(compMgr, location, type) {
- compMgr.QueryInterface(nsIComponentRegistrar);
-
- compMgr.unregisterFactoryLocation(clh_CID, location);
-
- var catMan = Components.classes["@mozilla.org/categorymanager;1"]
- .getService(nsICategoryManager);
- catMan.deleteCategoryEntry("command-line-handler", clh_category);
- },
-
- canUnload : function (compMgr) {
- return true;
- }
};
/* Module initialisation */
- function NSGetModule(comMgr, fileSpec) {
- return escCLHModule;
- }
+
+var NSGetFactory = XPCOMUtils.generateNSGetFactory([escCLH]);
diff -up ./esc/src/lib/notifytray/notifyareaicon.c.fix9 ./esc/src/lib/notifytray/notifyareaicon.c
--- ./esc/src/lib/notifytray/notifyareaicon.c.fix9 2011-03-24 12:57:00.410712173 -0700
+++ ./esc/src/lib/notifytray/notifyareaicon.c 2011-03-24 12:57:21.501712174 -0700
@@ -90,19 +90,7 @@ notify_area_icon_class_init (NotifyAreaI
static void
notify_area_icon_unrealize (GtkWidget *widget)
{
- NotifyAreaIcon *icon = (NotifyAreaIcon *) widget;
-
- GdkWindow *root_window;
-
g_print("notify_area_icon_unrealize \n");
- if (icon->manager_wnd != None)
- {
- GdkWindow *gdkwin;
- gdkwin = gdk_window_lookup (icon->manager_wnd);
-
- }
-
- root_window = gdk_window_lookup (gdk_x11_get_default_root_xwindow ());
if (GTK_WIDGET_CLASS (plug_parent_class)->unrealize)
(* GTK_WIDGET_CLASS (plug_parent_class)->unrealize) (widget);
@@ -159,14 +147,6 @@ notify_area_icon_update_manager_wnd(Noti
xdisplay = gdk_display;
- if (icon->manager_wnd != None)
- {
- GdkWindow *gdkwin;
-
- gdkwin = gdk_window_lookup (icon->manager_wnd);
-
- }
-
XGrabServer (xdisplay);
icon->manager_wnd = XGetSelectionOwner (xdisplay, icon->selection_atom);
@@ -235,7 +215,7 @@ notify_area_icon_new(const gchar *name)
{
NotifyAreaIcon *icon;
char buff[256];
- GdkWindow *root;
+ /* GdkWindow *root; */
Screen *xscreen = DefaultScreenOfDisplay (gdk_display);
@@ -275,8 +255,6 @@ notify_area_icon_new(const gchar *name)
notify_area_icon_update_manager_wnd(icon);
g_print ("attempted to update_manager_wnd: %p",(void *)icon->manager_wnd);
-
- root = gdk_window_lookup (gdk_x11_get_default_root_xwindow ());
icon->tooltips = gtk_tooltips_new ();
diff -up ./esc/src/lib/notifytray/notifytray.c.fix9 ./esc/src/lib/notifytray/notifytray.c
--- ./esc/src/lib/notifytray/notifytray.c.fix9 2011-03-24 12:57:57.680712175 -0700
+++ ./esc/src/lib/notifytray/notifytray.c 2011-03-24 12:58:07.243712165 -0700
@@ -239,7 +239,7 @@ void notify_icon_send_tooltip_msg(const
}
g_print("icon %s", icon);
- NotifyNotification *not = notify_notification_new(msg_title, message,icon, GTK_WIDGET(notify));
+ NotifyNotification *not = notify_notification_new(msg_title, message,icon); /*, GTK_WIDGET(notify));*/
if(not)
{