Buggy code:
int gtk_motion_notify_event ( int widget , int event ) { } int gtk_popup_menu ( int widget ) { } int gtk_preedit_changed ( int imcontext ) { } int gtk_realize ( int widget ) { } int gtk_scroll_event ( int widget , int eventPtr ) { } int gtk_show_help ( int widget , int helpType ) { } int gtk_unrealize ( int widget ) { } int gtk_visibility_notify_event ( int widget , int event ) { } public int internal_new_GC ( GCData data ) { } int imHandle ( ) { } public void internal_dispose_GC ( int gdkGC , GCData data ) { } public boolean isReparentable ( ) { } boolean isShowing ( ) { } boolean isTabGroup ( ) { } boolean isTabItem ( ) { } public boolean isEnabled ( ) { } boolean isFocusAncestor ( Control control ) { } public boolean isFocusControl ( ) { } public boolean isVisible ( ) { } Decorations menuShell ( ) { } boolean mnemonicHit ( char key ) { } boolean mnemonicMatch ( char key ) { } void register ( ) { } public void redraw ( ) { } public void redraw ( int x , int y , int width , int height , boolean all ) { } void redrawWidget ( int x , int y , int width , int height , boolean all ) { } void releaseChild ( ) { } void releaseHandle ( ) { } void releaseWidget ( ) { } void sendFocusEvent ( int type ) { } boolean sendHelpEvent ( int helpType ) { } boolean sendMouseEvent ( int type , int button , int time , double x , double y , boolean is_hint , int state , int eventPtr ) { } boolean sendMouseEvent ( int type , int button , int count , int detail , boolean send , int time , double x , double y , boolean is_hint , int state , int eventPtr ) { } public void setBackground ( Color color ) { } void setBackgroundColor ( int handle , GdkColor color ) { } void setBackgroundColor ( GdkColor color ) { } public void setCapture ( boolean capture ) { } public void setCursor ( Cursor cursor ) { } void setCursor ( int cursor ) { } public void setEnabled ( boolean enabled ) { } public boolean setFocus ( ) { } public void setFont ( Font font ) { } void setFontDescription ( int font ) { } public void setForeground ( Color color ) { } void setForegroundColor ( GdkColor color ) { } void setInitialBounds ( ) { } public void setMenu ( Menu menu ) { } void setOrientation ( ) { } public boolean setParent ( Composite parent ) { } boolean setRadioSelection ( boolean value ) { } public void setRedraw ( boolean redraw ) { } boolean setTabGroupFocus ( boolean next ) { } boolean setTabItemFocus ( boolean next ) { } public void setToolTipText ( String string ) { } void setToolTipText ( Shell shell , String string ) { } public void setVisible ( boolean visible ) { } void setZOrder ( Control sibling , boolean above ) { } void setZOrder ( Control sibling , boolean above , boolean fixChildren ) { int topHandle = topHandle ( ) ; int siblingHandle = ( sibling != null ) ? sibling . topHandle ( ) : 0 ; int window = OS . GTK_WIDGET_WINDOW ( topHandle ) ; if ( window != 0 ) { int siblingWindow = 0 ; if ( sibling != null ) { if ( above && ( ( sibling . enableWindow ) != 0 ) ) { siblingWindow = enableWindow ; } else { siblingWindow = OS . GTK_WIDGET_WINDOW ( siblingHandle ) ; } } int redrawWindow = ( fixChildren ) ? parent . redrawWindow : 0 ; <START_BUG> if ( ( ! ( OS . GDK_WINDOWING_X11 ( ) ) ) || ( ( siblingWindow == 0 ) && ( redrawWindow == 0 ) ) ) { <END_BUG> if ( above ) { OS . gdk_window_raise ( window ) ; if ( redrawWindow != 0 ) OS . gdk_window_raise ( redrawWindow ) ; if ( ( enableWindow ) != 0 ) OS . gdk_window_raise ( enableWindow ) ; } else { if ( ( enableWindow ) != 0 ) OS . gdk_window_lower ( enableWindow ) ; OS . gdk_window_lower ( window ) ; } } else { XWindowChanges changes = new XWindowChanges ( ) ; changes . sibling = OS . gdk_x11_drawable_get_xid ( ( siblingWindow != 0 ? siblingWindow : redrawWindow ) ) ; changes . stack_mode = ( above ) ? OS . Above : OS . Below ; if ( ( redrawWindow != 0 ) && ( siblingWindow == 0 ) ) changes . stack_mode = OS . Below ; int xDisplay = OS . gdk_x11_drawable_get_xdisplay ( window ) ; int xWindow = OS . gdk_x11_drawable_get_xid ( window ) ; int xScreen = OS . XDefaultScreen ( xDisplay ) ; int flags = ( OS . CWStackMode ) | ( OS . CWSibling ) ; OS . XReconfigureWMWindow ( xDisplay , xWindow , xScreen , flags , changes ) ; if ( ( enableWindow ) != 0 ) { changes . sibling = OS . gdk_x11_drawable_get_xid ( window ) ; changes . stack_mode = OS . Above ; xWindow = OS . gdk_x11_drawable_get_xid ( enableWindow ) ; OS . XReconfigureWMWindow ( xDisplay , xWindow , xScreen , flags , changes ) ; } } } if ( fixChildren ) { if ( above ) { parent . moveAbove ( topHandle , siblingHandle ) ; } else { parent . moveBelow ( topHandle , siblingHandle ) ; } } if ( ( ! above ) && fixChildren ) parent . fixZOrder ( ) ; } boolean showMenu ( int x , int y ) { } void showWidget ( ) { }

Fix:
if ( ( ! ( OS . GDK_WINDOWING_X11 ( ) ) ) || ( ( siblingWindow == 0 ) && ( ( ! above ) || ( redrawWindow == 0 ) ) ) ) {