NS_ADDREF(NS_STATIC_CAST(nsIWidget*,win));
NS_ADDREF(win);
gint handle_key_release_event(GtkObject *w, GdkEventKey* event, gpointer p){  // Don't pass shift, control and alt as key release events  if (event->keyval == GDK_Shift_L      || event->keyval == GDK_Shift_R      || event->keyval == GDK_Control_L      || event->keyval == GDK_Control_R)    return PR_TRUE;  nsKeyEvent kevent;  InitKeyEvent(event, p, kevent, NS_KEY_UP);  nsWindow * win = (nsWindow *) p;  NS_ADDREF(NS_STATIC_CAST(nsIWidget*,win));  win->OnKey(kevent);  NS_RELEASE(NS_STATIC_CAST(nsIWidget*,win));  if (w)  {    gtk_signal_emit_stop_by_name (GTK_OBJECT(w), "key_release_event");  }  return PR_TRUE;}