Bug 265983. GTK1 needs GetNativeData(NS_NATIVE_WIDGET) to be passed as the native parent, not NS_NATIVE_WINDOW. r+sr=bzbarsky

This commit is contained in:
roc+%cs.cmu.edu 2004-10-30 12:57:46 +00:00
parent 24b6b2f9a8
commit 3b7e30e209
2 changed files with 9 additions and 10 deletions

View File

@ -628,7 +628,7 @@ nsresult nsIView::CreateWidget(const nsIID &aWindowIID,
nsIWidget* parentWidget = GetParent() ? GetParent()->GetNearestWidget(nsnull)
: nsnull;
if (aWidgetInitData->mWindowType == eWindowType_popup) {
mWindow->Create(parentWidget->GetNativeData(NS_NATIVE_WINDOW), trect,
mWindow->Create(parentWidget->GetNativeData(NS_NATIVE_WIDGET), trect,
::HandleEvent, dx, nsnull, nsnull, aWidgetInitData);
} else {
mWindow->Create(parentWidget, trect,

View File

@ -1858,11 +1858,11 @@ NS_METHOD nsWindow::CreateNative(GtkObject *parentWidget)
superwin = GDK_SUPERWIN(parentWidget);
GdkWindow *topGDKWindow =
gdk_window_get_toplevel(GDK_SUPERWIN(parentWidget)->shell_window);
gpointer data;
gdk_window_get_user_data(topGDKWindow, &data);
if (GTK_IS_WINDOW(data)) {
topLevelParent = GTK_WINDOW(data);
}
gpointer data;
gdk_window_get_user_data(topGDKWindow, &data);
if (GTK_IS_WINDOW(data)) {
topLevelParent = GTK_WINDOW(data);
}
}
else if (GTK_IS_CONTAINER(parentWidget)) {
parentContainer = GTK_CONTAINER(parentWidget);
@ -1870,10 +1870,9 @@ NS_METHOD nsWindow::CreateNative(GtkObject *parentWidget)
topLevelParent =
GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(parentWidget)));
}
#ifdef DEBUG
else
g_print("warning: attempted to CreateNative() width a non-superwin and non gtk container parent\n");
#endif
else {
NS_WARNING("Unknown parent widget type");
}
}
switch(mWindowType)