Comment #5 on issue 881 by [email protected]: GG crashes FF 3.0.10.0 when uploading image via Wordpress
http://code.google.com/p/gears/issues/detail?id=881

I'm running FF 3.0.5 on XP.

The crash is in newly introduced drag-and-drop related stuff. This code path executes when simply creating a Gears Factory object. The client page doesn't have to use the new drag and drop features to get this crash. That does a lot to explain the frequency of the crash.

// file dom_utils.cc

nsresult DOMUtils::GetTabNativeWindow(JSContext *js_context,
                                      NativeWindowPtr* window) {

  ....

  nsCOMPtr<nsIBaseWindow> baseWindow(do_QueryInterface(ds, &nr));
  if (NS_FAILED(nr)) { return nr; }
  nsCOMPtr<nsIWidget> widget;
  nr = baseWindow->GetMainWidget(getter_AddRefs(widget));
  if (NS_FAILED(nr)) { return nr; }
  *window = reinterpret_cast<NativeWindowPtr>(
widget->GetNativeData(NS_NATIVE_WINDOW)); <---- CRASHES HERE BECAUSE 'widget' IS NULL

  return NS_OK;
}

Here's a chunk of the callstack

gears.dll!nsCOMPtr<nsIBaseWindow>::assign_assuming_AddRef(nsIBaseWindow * newPtr=0x00000001) Line 565 + 0x14 bytes C++
        gears.dll!nsCOMPtr<nsIWidget>::operator->()  Line 868 + 0x24 bytes     
C++
gears.dll!DOMUtils::GetTabNativeWindow(JSContext * js_context=0x01eb40b0, HWND__ * * window=0x0012f2bc) Line 197 + 0x8 bytes C++
gears.dll!DropTargetInterceptor::Intercept(ModuleEnvironment * module_environment=0x02a26c00) Line 258 + 0x16 bytes C++ gears.dll!ModuleEnvironment::ModuleEnvironment(SecurityOrigin security_origin={...}, bool is_worker=false, JsRunnerInterface * js_runner=0x02a26518,
BrowsingContext * browsing_context=0x00000000)  Line 88 + 0x9 bytes     C++
        gears.dll!ModuleEnvironment::CreateFromDOM()  Line 123 + 0x57 bytes     
C++
        gears.dll!GearsFactory::InitFactoryFromDOM()  Line 56 + 0x5 bytes       
C++
gears.dll!GearsFactoryConstructor(nsISupports * aOuter=0x00000000, const nsID & aIID={...}, void * * aResult=0x0012f5f0) Line 239 + 0x83 bytes C++
        gears.dll!nsGenericFactory::CreateInstance()  + 0x1c bytes      C++




--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings

Reply via email to