nsKeyEvent kevent;
win->AddRef();
gint handle_key_press_event(GtkWidget *w, GdkEventKey* event, gpointer p){  // Don't pass shift, control and alt as key press events  if (event->keyval == GDK_Shift_L      || event->keyval == GDK_Shift_R      || event->keyval == GDK_Control_L      || event->keyval == GDK_Control_R      || event->keyval == GDK_Alt_L      || event->keyval == GDK_Alt_R)    return PR_TRUE;  nsKeyEvent kevent;  InitKeyEvent(event, p, kevent, NS_KEY_DOWN);  nsWindow * win = (nsWindow *) p;  win->AddRef();  win->OnKey(kevent);  win->Release();  gtk_signal_emit_stop_by_name (GTK_OBJECT(w), "key_press_event");    return PR_TRUE;}