NS_IMETHOD CreateNative(GtkObject *parentWindow) { return NS_OK; }
void nsWidget::CreateNative(Window aParent, nsRect aRect) { XSetWindowAttributes attr; unsigned long        attr_mask; int width; int height;  printf("*** Warning: nsWidget::CreateNative falling back to sane default for widget type \"%s\"\n", name); if (!strcmp(name, "unnamed")) { printf("What freaking widget is this, anyway?\n"); }   attr.bit_gravity = NorthWestGravity;  attr.event_mask = StructureNotifyMask | ExposureMask;  attr.background_pixel = bg_pixel; attr.border_pixel = border_pixel;  attr.colormap = xlib_rgb_get_cmap();  attr_mask = CWBitGravity | CWEventMask | CWBackPixel | CWBorderPixel;  if (attr.colormap) attr_mask |= CWColormap;  printf("Creating XWindow: x %d y %d w %d h %d\n", aRect.x, aRect.y, aRect.width, aRect.height); if (aRect.width <= 0) { printf("*** Fixing width...\n"); width = 1; } else { width = aRect.width; } if (aRect.height <= 0) { printf("*** Fixing height...\n"); height = 1; } else { height = aRect.height; }  mBaseWindow = XCreateWindow(gDisplay, aParent, aRect.x, aRect.y, width, height, 0, gDepth, InputOutput, gVisual, attr_mask, &attr);  AddWindowCallback(mBaseWindow, this);   XMapWindow(gDisplay, mBaseWindow); XSync(gDisplay, False); }
  NS_IMETHOD CreateNative(GtkObject *parentWindow) { return NS_OK; }