On Sun, Jun 15, 2008 at 05:28:42PM +0200, Mike Hommey wrote:
> On Sun, Jun 15, 2008 at 03:32:30PM +0200, Mike Hommey wrote:
> > On Tue, Jun 10, 2008 at 07:32:14AM +0200, Mike Hommey wrote:
> > > On Tue, May 27, 2008 at 11:11:46PM +0200, Mike Hommey wrote:
> > > > tag 480796 + patch
> > > > thanks
> > > > 
> > > > On Mon, May 12, 2008 at 09:07:26AM +0200, Mike Hommey wrote:
> > > > > Package: kazehakase
> > > > > Severity: wishlist
> > > > > User: [EMAIL PROTECTED]
> > > > > Usertags: xulrunner-transition
> > > > > 
> > > > > With the upcoming xulrunner transition, libxul-dev is going to 
> > > > > disappear.
> > > > > 
> > > > > I already sent instructions on what you should be doing in
> > > > > http://lists.debian.org/debian-release/2008/05/msg00009.html
> > > > > 
> > > > > This bug report is mostly to help follow the transition going.
> > > > > 
> > > > > FYI, I will start NMUing plugins and components next week, and will 
> > > > > break
> > > > > the remaining packages by uploading xulrunner 1.9 in unstable on May 
> > > > > 25.
> > > > > 
> > > > > Though help will be appreciated, I'll also prepare updated packages 
> > > > > for
> > > > > these during this week and next.
> > > > 
> > > > Attached is the patch for proper support of xulrunner 1.9. I tested it
> > > > to work on startup and loading a page, but not further. It would be
> > > > helpful if you could do an upload to experimental with the patch
> > > > applied.
> > > 
> > > I already spotted a few regressions: https broken for sites with bad
> > > certificate (I'm already working on that) and http auth broken.
> > 
> > Both fixed with the attached patch (it supersedes the previous one).
> > 
> > Mike
> 
> With a non-reversed patch, and without changes outside debian/ it's
> better.

And a filtered 90_xulrunner_1.9.dpatch...

Mike
diff -u kazehakase-0.5.4/debian/changelog kazehakase-0.5.4/debian/changelog
--- kazehakase-0.5.4/debian/changelog
+++ kazehakase-0.5.4/debian/changelog
@@ -1,3 +1,15 @@
+kazehakase (0.5.4-2.1) UNRELEASED; urgency=low
+
+  * Non-maintainer upload.
+  * debian/control: Build-depend on xulrunner-dev instead of libxul-dev. Make
+    kazehakase-gecko depend on xulrunner-1.9 (closes: #480796).
+  * debian/rules: build with --with-gecko-engine=libxul --disable-gtkmozembed
+    to build against standalone xpcom glue.
+  * debian/patches/90_xulrunner_1.9.dpatch: Better support for xulrunner-1.9.
+  * debian/patches/00list: Added 90_xulrunner_1.9.
+
+ -- Mike Hommey <[EMAIL PROTECTED]>  Mon, 09 Jun 2008 20:44:41 +0200
+
 kazehakase (0.5.4-2) unstable; urgency=low
 
   * Add a Replaces: kazehakase to kazehakase-gecko, as the older version of
diff -u kazehakase-0.5.4/debian/rules kazehakase-0.5.4/debian/rules
--- kazehakase-0.5.4/debian/rules
+++ kazehakase-0.5.4/debian/rules
@@ -45,7 +45,7 @@
        dh_testdir
        chmod +x ./configure
        chmod +x ./mkinstalldirs
-       $(COMPILER_FLAGS) ./configure --host=$(DEB_HOST_GNU_TYPE) 
--build=$(DEB_BUILD_GNU_TYPE) --enable-migemo --prefix=/usr 
--mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info 
--sysconfdir=/etc --with-gecko-engine=xulrunner --with-ruby=/usr/bin/ruby1.8
+       $(COMPILER_FLAGS) ./configure --host=$(DEB_HOST_GNU_TYPE) 
--build=$(DEB_BUILD_GNU_TYPE) --enable-migemo --prefix=/usr 
--mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info 
--sysconfdir=/etc --with-gecko-engine=libxul --disable-gtkmozembed 
--with-ruby=/usr/bin/ruby1.8
 
 build: build-stamp 
 build-stamp: patch config.status 
diff -u kazehakase-0.5.4/debian/control kazehakase-0.5.4/debian/control
--- kazehakase-0.5.4/debian/control
+++ kazehakase-0.5.4/debian/control
@@ -3,7 +3,7 @@
 Priority: optional
 Maintainer: Hidetaka Iwai <[EMAIL PROTECTED]>
 Uploaders: Andres Salomon <[EMAIL PROTECTED]>
-Build-Depends: debhelper(>> 4.0.0), dpatch, libatk1.0-dev, libglib2.0-dev, 
libgtk2.0-dev (>= 2.12.0), libpango1.0-dev, libxul-dev, libgnutls-dev (>= 
1.2.6), ruby1.8, ruby1.8-dev, libgtk2-ruby, libgettext-ruby1.8, 
libxml-parser-perl, libwebkit-dev
+Build-Depends: debhelper(>> 4.0.0), dpatch, libatk1.0-dev, libglib2.0-dev, 
libgtk2.0-dev (>= 2.12.0), libpango1.0-dev, xulrunner-dev, libgnutls-dev (>= 
1.2.6), ruby1.8, ruby1.8-dev, libgtk2-ruby, libgettext-ruby1.8, 
libxml-parser-perl, libwebkit-dev
 Standards-Version: 3.7.3
 
 Package: kazehakase
@@ -22,7 +22,7 @@
 
 Package: kazehakase-gecko
 Architecture: any
-Depends: ${gecko:Depends}
+Depends: ${gecko:Depends}, xulrunner-1.9
 Replaces: kazehakase
 Description: Gecko rendering engine for kazehakase
  Kazehakase is a web browser that can use either Gecko or WebKit as
diff -u kazehakase-0.5.4/debian/patches/00list 
kazehakase-0.5.4/debian/patches/00list
--- kazehakase-0.5.4/debian/patches/00list
+++ kazehakase-0.5.4/debian/patches/00list
@@ -3,0 +4 @@
+90_xulrunner_1.9
only in patch2:
unchanged:
--- kazehakase-0.5.4.orig/debian/patches/90_xulrunner_1.9.dpatch
+++ kazehakase-0.5.4/debian/patches/90_xulrunner_1.9.dpatch
@@ -0,0 +1,413 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 90_xulrunner_1.9.dpatch by  <[EMAIL PROTECTED]>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Better support for xulrunner 1.9
+
+diff -u kazehakase-0.5.4/debian/rules kazehakase-0.5.4/debian/rules
+--- kazehakase-0.5.4.orig/ext/ruby/Makefile.in
++++ kazehakase-0.5.4/ext/ruby/Makefile.in
+@@ -306,7 +306,6 @@
+ top_srcdir = @top_srcdir@
+ ext_LTLIBRARIES = ruby.la
+ INCLUDES = \
+-      $(MOZILLA_COMPONENT_CFLAGS)                     \
+       $(GTK_CFLAGS)                                   \
+       $(LIBGNUTLS_CFLAGS)                             \
+       $(RUBY_CFLAGS)                                  \
+@@ -354,7 +353,6 @@
+       $(GTK_LIBS)                             \
+       $(LIBGNUTLS_LIBS)                       \
+       $(RUBY_LIBS)                            \
+-      $(MOZILLA_COMPONENT_LIBS)               \
+       $(top_builddir)/src/libkazehakase.la
+ 
+ all: all-am
+--- kazehakase-0.5.4.orig/ext/ruby/Makefile.am
++++ kazehakase-0.5.4/ext/ruby/Makefile.am
+@@ -8,7 +8,6 @@
+       -DG_DISABLE_DEPRECATED=1
+ 
+ INCLUDES =                                            \
+-      $(MOZILLA_COMPONENT_CFLAGS)                     \
+       $(GTK_CFLAGS)                                   \
+       $(LIBGNUTLS_CFLAGS)                             \
+       $(RUBY_CFLAGS)                                  \
+@@ -63,5 +62,4 @@
+       $(GTK_LIBS)                             \
+       $(LIBGNUTLS_LIBS)                       \
+       $(RUBY_LIBS)                            \
+-      $(MOZILLA_COMPONENT_LIBS)               \
+       $(top_builddir)/src/libkazehakase.la
+--- kazehakase-0.5.4.orig/module/embed/gecko/mozilla.cpp
++++ kazehakase-0.5.4/module/embed/gecko/mozilla.cpp
+@@ -25,6 +25,7 @@
+ 
+ #define MOZILLA_CLIENT
+ 
++#include <mozilla-config.h>
+ #include <gtkmozembed.h>
+ #include <nsXPCOM.h>
+ #include <nsIGenericFactory.h>
+@@ -50,6 +51,10 @@
+ #include <gtkmozembed_glue.cpp>
+ #include <nsGenericFactory.h>
+ #endif
++#ifdef HAVE_GECKO_1_9
++#include <nsComponentManagerUtils.h>
++#endif
++
+ 
+ NS_GENERIC_FACTORY_CONSTRUCTOR(KzFilePicker)
+ NS_GENERIC_FACTORY_CONSTRUCTOR(KzContentHandler)
+--- kazehakase-0.5.4.orig/module/embed/gecko/kz-mozlauncher.cpp
++++ kazehakase-0.5.4/module/embed/gecko/kz-mozlauncher.cpp
+@@ -76,6 +76,9 @@
+                                   nsISupports *aWindowContext,
+                                   const PRUnichar *aDefaultFile,
+                                   const PRUnichar *aSuggestedFileExtension,
++#ifdef HAVE_GECKO_1_9
++                                  PRBool aForcePrompt,
++#endif
+                                   nsILocalFile **_retval)
+ {
+       nsresult rv;
+--- 
kazehakase-0.5.4.orig/module/embed/gecko/gtkmozembed/nsProfileDirServiceProvider2.cpp
++++ 
kazehakase-0.5.4/module/embed/gecko/gtkmozembed/nsProfileDirServiceProvider2.cpp
+@@ -306,26 +306,6 @@
+         rv = EnsureProfileFileExists(localFile, domainDir);
+     }
+   }
+-  else if (strcmp(prop, NS_APP_MAIL_50_DIR) == 0) {
+-    rv = domainDir->Clone(getter_AddRefs(localFile));
+-    if (NS_SUCCEEDED(rv))
+-      rv = localFile->AppendNative(MAIL_DIR_50_NAME);
+-  }
+-  else if (strcmp(prop, NS_APP_IMAP_MAIL_50_DIR) == 0) {
+-    rv = domainDir->Clone(getter_AddRefs(localFile));
+-    if (NS_SUCCEEDED(rv))
+-      rv = localFile->AppendNative(IMAP_MAIL_DIR_50_NAME);
+-  }
+-  else if (strcmp(prop, NS_APP_NEWS_50_DIR) == 0) {
+-    rv = domainDir->Clone(getter_AddRefs(localFile));
+-    if (NS_SUCCEEDED(rv))
+-      rv = localFile->AppendNative(NEWS_DIR_50_NAME);
+-  }
+-  else if (strcmp(prop, NS_APP_MESSENGER_FOLDER_CACHE_50_DIR) == 0) {
+-    rv = domainDir->Clone(getter_AddRefs(localFile));
+-    if (NS_SUCCEEDED(rv))
+-      rv = localFile->AppendNative(MSG_FOLDER_CACHE_DIR_50_NAME);
+-  }
+   else if (strcmp(prop, NS_APP_STORAGE_50_FILE) == 0) {
+     rv = domainDir->Clone(getter_AddRefs(localFile));
+     if (NS_SUCCEEDED(rv))
+@@ -518,10 +498,6 @@
+   (void) directoryService->Undefine(NS_APP_BOOKMARKS_50_FILE);
+   (void) directoryService->Undefine(NS_APP_DOWNLOADS_50_FILE);
+   (void) directoryService->Undefine(NS_APP_SEARCH_50_FILE);
+-  (void) directoryService->Undefine(NS_APP_MAIL_50_DIR);
+-  (void) directoryService->Undefine(NS_APP_IMAP_MAIL_50_DIR);
+-  (void) directoryService->Undefine(NS_APP_NEWS_50_DIR);
+-  (void) directoryService->Undefine(NS_APP_MESSENGER_FOLDER_CACHE_50_DIR);
+ 
+   return NS_OK;
+ }
+--- kazehakase-0.5.4.orig/module/embed/gecko/gecko_la-GtkNSSDialogs.loT        
2008-06-15 15:15:10.000000000 +0200
++++ kazehakase-0.5.4/module/embed/gecko/gecko_la-GtkNSSDialogs.loT     
1970-01-01 01:00:00.000000000 +0100
+@@ -1,7 +0,0 @@
+-# gecko_la-GtkNSSDialogs.lo - a libtool object file
+-# Generated by ltmain.sh - GNU libtool 1.5.24 Debian 1.5.24-1ubuntu1 
(1.1220.2.456 2007/06/24 02:25:32)
+-#
+-# Please DO NOT delete this file!
+-# It is necessary for linking the library.
+-
+-# Name of the PIC object.
+--- kazehakase-0.5.4.orig/module/embed/gecko/GtkNSSDialogs.cpp 2008-06-15 
15:15:10.000000000 +0200
++++ kazehakase-0.5.4/module/embed/gecko/GtkNSSDialogs.cpp      2008-06-15 
10:28:47.885635130 +0200
+@@ -53,7 +53,7 @@
+ #include <nsEmbedString.h>
+ #undef MOZILLA_STRICT_API
+ #include <nsIDOMWindow.h>
+-#include <nsIMuttableArray.h>
++#include <nsIMutableArray.h>
+ 
+ #include <gtk/gtk.h>
+ #include <time.h>
+--- kazehakase-0.5.4.orig/module/embed/gecko/GtkPromptService.cpp      
2008-03-29 09:20:40.000000000 +0100
++++ kazehakase-0.5.4/module/embed/gecko/GtkPromptService.cpp   2008-06-15 
15:13:19.385610265 +0200
+@@ -36,6 +36,7 @@
+  *
+  * ***** END LICENSE BLOCK ***** */
+ 
++#include "config.h"
+ #include "GtkPromptService.h"
+ #include <nsIWindowWatcher.h>
+ #include <nsIWebBrowserChrome.h>
+@@ -49,6 +50,23 @@
+ #include <nsIDOMCharacterData.h>
+ #include <nsIDOMText.h>
+ #include <nsMemory.h>
++#ifdef HAVE_GECKO_1_9
++#include <nsIAuthInformation.h>
++#include <nsIStringBundle.h>
++#include <nsServiceManagerUtils.h>
++/* That is ugly but I didn't find another way, except including
++ * NS_GetAuthHostPort */
++#define kNotFound -1
++NS_COM void AppendUTF16toUTF8( const nsAString& aSource, nsACString& aDest );
++#include <nsStringAPI.h>
++#include <nsIProxiedChannel.h>
++#include <nsIProxyInfo.h>
++#include <nsIIDNService.h>
++#include <nsNetCID.h>
++#include <nsIURI.h>
++#include <nsNetUtil.h>
++#include <nsPromptUtils.h>
++#endif
+ 
+ #include <glib/gi18n.h>
+ #include "kz-prompt-dialog.h"
+@@ -89,8 +107,11 @@
+ {
+ }
+ 
+-
++#ifdef HAVE_GECKO_1_9
++NS_IMPL_ISUPPORTS2(GtkPromptService, nsIPromptService, nsIPromptService2)
++#else
+ NS_IMPL_ISUPPORTS1(GtkPromptService, nsIPromptService)
++#endif
+ 
+ NS_IMETHODIMP
+ GtkPromptService::Alert(nsIDOMWindow* aParent, const PRUnichar* aDialogTitle, 
+@@ -338,10 +359,12 @@
+       KzPromptDialog *prompt = 
KZ_PROMPT_DIALOG(kz_prompt_dialog_new_with_parent
+                                                       (TYPE_PROMPT_USER_PASS,
+                                                        
GTK_WINDOW(GetGtkWindowForDOMWindow(aParent))));
++#ifndef HAVE_GECKO_1_9
+       gchar *host = GetURIForDOMWindow(aParent);
+       kz_prompt_dialog_set_host (prompt, host);
+       if (host)
+               g_free(host);
++#endif
+       kz_prompt_dialog_set_title(prompt,
+                                  aDialogTitle ? cTitle.get() : _("Prompt"));
+       kz_prompt_dialog_set_message_text(prompt, cText.get());
+@@ -391,10 +414,12 @@
+       KzPromptDialog *prompt = 
KZ_PROMPT_DIALOG(kz_prompt_dialog_new_with_parent
+                                                       (TYPE_PROMPT_PASS,
+                                                        
GTK_WINDOW(GetGtkWindowForDOMWindow(aParent))));
++#ifndef HAVE_GECKO_1_9
+       gchar *host = GetURIForDOMWindow(aParent);
+       kz_prompt_dialog_set_host (prompt, host);
+       if (host)
+               g_free(host);
++#endif
+       kz_prompt_dialog_set_title(prompt,
+                                  aDialogTitle ? cTitle.get() : _("Prompt"));
+       kz_prompt_dialog_set_message_text(prompt, cText.get());
+@@ -510,3 +535,147 @@
+       NS_UTF16ToCString(uri, NS_CSTRING_ENCODING_UTF8, c_uri);
+       return g_strdup(c_uri.get());
+ }
++
++#ifdef HAVE_GECKO_1_9
++static nsresult
++MakeDialogText(nsIChannel* aChannel, nsIAuthInformation* aAuthInfo,
++               nsString& message)
++{
++  nsresult rv;
++  nsCOMPtr<nsIStringBundleService> bundleSvc =
++    do_GetService(NS_STRINGBUNDLE_CONTRACTID, &rv);
++  NS_ENSURE_SUCCESS(rv, rv);
++
++  nsCOMPtr<nsIStringBundle> bundle;
++  rv = bundleSvc->CreateBundle("chrome://global/locale/prompts.properties",
++                               getter_AddRefs(bundle));
++  NS_ENSURE_SUCCESS(rv, rv);
++
++  // figure out what message to display...
++  nsCAutoString host;
++  PRInt32 port;
++  NS_GetAuthHostPort(aChannel, aAuthInfo, PR_FALSE, host, &port);
++
++  nsAutoString displayHost;
++  CopyUTF8toUTF16(host, displayHost);
++
++  nsCOMPtr<nsIURI> uri;
++  aChannel->GetURI(getter_AddRefs(uri));
++
++  nsCAutoString scheme;
++  uri->GetScheme(scheme);
++
++  nsAutoString username;
++  aAuthInfo->GetUsername(username);
++
++  PRUint32 flags;
++  aAuthInfo->GetFlags(&flags);
++  PRBool proxyAuth = (flags & nsIAuthInformation::AUTH_PROXY) != 0;
++
++  nsAutoString realm;
++  aAuthInfo->GetRealm(realm);
++
++  // Append the port if it was specified
++  if (port != -1) {
++    displayHost.Append(PRUnichar(':'));
++    displayHost.AppendInt(port);
++  }
++
++  NS_NAMED_LITERAL_STRING(proxyText, "EnterLoginForProxy");
++  NS_NAMED_LITERAL_STRING(originText, "EnterLoginForRealm");
++  NS_NAMED_LITERAL_STRING(noRealmText, "EnterUserPasswordFor");
++  NS_NAMED_LITERAL_STRING(passwordText, "EnterPasswordFor");
++
++  const PRUnichar *text;
++  if (proxyAuth) {
++    text = proxyText.get();
++  } else {
++    text = originText.get();
++
++    // prepend "scheme://"
++    nsAutoString schemeU;
++    CopyASCIItoUTF16(scheme, schemeU);
++    schemeU.AppendLiteral("://");
++    displayHost.Insert(schemeU, 0);
++  }
++
++  const PRUnichar *strings[] = { realm.get(), displayHost.get() };
++  PRUint32 count = NS_ARRAY_LENGTH(strings);
++
++  if (flags & nsIAuthInformation::ONLY_PASSWORD) {
++    text = passwordText.get();
++    strings[0] = username.get();
++  } else if (!proxyAuth && realm.IsEmpty()) {
++    text = noRealmText.get();
++    count--;
++    strings[0] = strings[1];
++  }
++
++  rv = bundle->FormatStringFromName(text, strings, count, 
getter_Copies(message));
++  return rv;
++}
++
++NS_METHOD
++GtkPromptService::PromptAuth(nsIDOMWindow *aParent,
++                              nsIChannel *aChannel,
++                              PRUint32 level,
++                              nsIAuthInformation *authInfo,
++                              const PRUnichar *checkboxLabel,
++                              PRBool *checkValue,
++                              PRBool *retval)
++{
++      NS_ENSURE_ARG_POINTER (retval);
++      NS_ENSURE_ARG_POINTER (authInfo);
++
++  nsString message;
++  MakeDialogText(aChannel, authInfo, message);
++
++  nsAutoString defaultUser, defaultDomain, defaultPass;
++  authInfo->GetUsername(defaultUser);
++  authInfo->GetDomain(defaultDomain);
++  authInfo->GetPassword(defaultPass);
++
++  PRUint32 flags;
++  authInfo->GetFlags(&flags);
++
++  if ((flags & nsIAuthInformation::NEED_DOMAIN) && !defaultDomain.IsEmpty()) {
++    defaultDomain.Append(PRUnichar('\\'));
++    defaultUser.Insert(defaultDomain, 0);
++  }
++
++  // NOTE: Allocation failure is not fatal here (just default to empty string
++  // if allocation fails)
++  PRUnichar *user = ToNewUnicode(defaultUser),
++    *pass = ToNewUnicode(defaultPass);
++  nsresult rv;
++  if (flags & nsIAuthInformation::ONLY_PASSWORD)
++    rv = PromptPassword(aParent, nsnull, message.get(),
++                                  &pass, checkboxLabel,
++                                  checkValue, retval);
++  else
++    rv = PromptUsernameAndPassword(aParent, nsnull, message.get(),
++                                             &user, &pass, checkboxLabel,
++                                             checkValue, retval);
++
++  nsString userStr(user);
++  nsString passStr(pass);
++  authInfo->SetUsername(userStr);
++  authInfo->SetPassword(passStr);
++
++  return rv;
++}
++
++NS_METHOD GtkPromptService::AsyncPromptAuth(nsIDOMWindow *aParent,
++                                            nsIChannel *aChannel,
++                                            nsIAuthPromptCallback *aCallback,
++                                            nsISupports *aContext,
++                                            PRUint32 level,
++                                            nsIAuthInformation *authInfo,
++                                            const PRUnichar *checkboxLabel,
++                                            PRBool *checkValue,
++                                            nsICancelable **retval)
++{
++  return NS_ERROR_NOT_IMPLEMENTED;
++}
++
++#endif
+--- kazehakase-0.5.4/module/embed/gecko/GtkPromptService.h     2008-03-29 
09:20:40.000000000 +0100
++++ kazehakase-0.5.4.new/module/embed/gecko/GtkPromptService.h 2008-06-15 
13:42:32.787114122 +0200
+@@ -37,7 +37,11 @@
+  *
+  * ***** END LICENSE BLOCK ***** */
+ 
++#ifdef HAVE_GECKO_1_9
++#include <nsIPromptService2.h>
++#else
+ #include <nsIPromptService.h>
++#endif
+ #include <gtk/gtk.h>
+ 
+ #define NS_PROMPTSERVICE_CID \
+@@ -45,7 +49,12 @@
+ 
+ class nsIDOMWindow;
+ 
+-class GtkPromptService : public nsIPromptService
++class GtkPromptService :
++#ifdef HAVE_GECKO_1_9
++      public nsIPromptService2
++#else
++      public nsIPromptService
++#endif
+ {
+ public:
+       GtkPromptService();
+@@ -53,6 +62,9 @@
+ 
+       NS_DECL_ISUPPORTS
+       NS_DECL_NSIPROMPTSERVICE
++#ifdef HAVE_GECKO_1_9
++      NS_DECL_NSIPROMPTSERVICE2
++#endif
+ 
+ private:
+       const char *GetButtonLabel(PRUint32 aFlags, PRUint32 aPos,
+--- kazehakase-0.5.4.orig/module/embed/gecko/kz-mozutils.h     2008-03-29 
09:20:40.000000000 +0100
++++ kazehakase-0.5.4/module/embed/gecko/kz-mozutils.h  2008-06-15 
14:58:46.665612336 +0200
+@@ -49,6 +49,8 @@
+  * The following functions is taken from include/necko/nsNetUtils.h in mozilla
+  */
+ 
++#ifndef nsNetUtil_h__
++
+ inline nsresult
+ GetIOService (nsIIOService **ioService)
+ {
+@@ -245,6 +247,6 @@
+ 
+   return resultBuffer;
+ }
+-
++#endif
+ 
+ #endif /* __KZ_MOZ_UTILS_H__ */

Reply via email to