Author: andreia
Date: 2008-02-05 22:06:58 -0500 (Tue, 05 Feb 2008)
New Revision: 94985

Modified:
   trunk/gluezilla/src/BrowserWindow.cpp
Log:
* BrowserWindow.cpp: use ns strings, easier. Don't call up status 
with the text yet, there's a problem with the string being released
somewhere. Only attach focus events on non-win32, windows seems to work
perfectly fine without it (and it loops endlessly with it)

2008-02-06  Andreia Gaita <[EMAIL PROTECTED]>

Modified: trunk/gluezilla/src/BrowserWindow.cpp
===================================================================
--- trunk/gluezilla/src/BrowserWindow.cpp       2008-02-06 02:22:18 UTC (rev 
94984)
+++ trunk/gluezilla/src/BrowserWindow.cpp       2008-02-06 03:06:58 UTC (rev 
94985)
@@ -303,10 +303,10 @@
 // Events
 nsresult BrowserWindow::AttachEvent (nsIDOMEventTarget * target, const char * 
type, const char * name) 
 {
-       char * string = (char*)malloc (strlen(type) + strlen(name) + 1);
-       if (!string)
-               return NS_ERROR_FAILURE;
-       sprintf(string, "%s:%s", type, name);
+       nsEmbedCString typeName (type);
+       typeName.Append (":");
+       typeName.Append (name);
+       const char * string = typeName.get();
        listeners [string] = new EventListener ();
        listeners [string]->target = target;
        listeners [string]->owner = this;
@@ -317,10 +317,10 @@
 
 nsresult BrowserWindow::DettachEvent (const char * type, const char * name) 
 {
-       char * string = (char*)malloc (strlen(type) + strlen(name) + 1);
-       if (!string)
-               return NS_ERROR_FAILURE;
-       sprintf(string, "%s:%s", type, name);
+       nsEmbedCString typeName (type);
+       typeName.Append (":");
+       typeName.Append (name);
+       const char * string = typeName.get();
        if (listeners[string] != nsnull) {
                nsresult rv = listeners[string]->target->RemoveEventListener 
(NS_ConvertUTF8toUTF16 (name, strlen (name)), listeners[string], PR_TRUE);
                listeners.erase (string);
@@ -372,8 +372,8 @@
 NS_IMETHODIMP 
 BrowserWindow::SetStatus(PRUint32 statusType, const PRUnichar *status)
 {
-       statusText = (char *)NS_ConvertUTF16toUTF8( status ).get();
-       owner->events->OnStatusChange (statusText, 100);
+       //statusText = (char *)NS_ConvertUTF16toUTF8( status ).get();
+       owner->events->OnStatusChange ("", 100);
        return NS_OK;
 }
 
@@ -476,7 +476,9 @@
                nsCOMPtr< nsIDOMEventTarget > target = do_QueryInterface( 
window );
                AttachEvent ( target, "window", "load" );
                AttachEvent ( target, "window", "unload" );
+#ifndef XP_WIN32
                AttachEvent ( target, "window", "focus" );
+#endif
                AttachEvent ( target, "window", "blur" );
                AttachEvent ( target, "window", "abort" );
                AttachEvent ( target, "window", "error" );

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to