diff --git sip/kdeui/kabstractwidgetjobtracker.sip sip/kdeui/kabstractwidgetjobtracker.sip
index 6952642..b793971 100644
--- sip/kdeui/kabstractwidgetjobtracker.sip
+++ sip/kdeui/kabstractwidgetjobtracker.sip
@@ -223,6 +223,7 @@ signals:
 
 //  Subclasses of QObject
 
+%If (WS_X11)
 %ConvertToSubClassCode
     // CTSCC for subclasses of 'QObject'
     sipType = NULL;
@@ -638,6 +639,418 @@ signals:
     else if (dynamic_cast<Sonnet::ConfigWidget*>(sipCpp))
         sipType = sipType_Sonnet_ConfigWidget;
 %End
+%End
+%If (!WS_X11)
+%ConvertToSubClassCode
+    // CTSCC for subclasses of 'QObject'
+    sipType = NULL;
+
+    if (dynamic_cast<KActionCategory*>(sipCpp))
+        sipType = sipType_KActionCategory;
+    else if (dynamic_cast<KActionCollection*>(sipCpp))
+        sipType = sipType_KActionCollection;
+    else if (dynamic_cast<KCategoryDrawerV2*>(sipCpp))
+        {
+        sipType = sipType_KCategoryDrawerV2;
+        if (dynamic_cast<KCategoryDrawerV3*>(sipCpp))
+            sipType = sipType_KCategoryDrawerV3;
+        }
+    else if (dynamic_cast<KCompletion*>(sipCpp))
+        sipType = sipType_KCompletion;
+    else if (dynamic_cast<KConfigDialogManager*>(sipCpp))
+        sipType = sipType_KConfigDialogManager;
+    else if (dynamic_cast<KConfigSkeleton*>(sipCpp))
+        sipType = sipType_KConfigSkeleton;
+    else if (dynamic_cast<KFind*>(sipCpp))
+        {
+        sipType = sipType_KFind;
+        if (dynamic_cast<KReplace*>(sipCpp))
+            sipType = sipType_KReplace;
+        }
+    else if (dynamic_cast<KGlobalAccel*>(sipCpp))
+        sipType = sipType_KGlobalAccel;
+    else if (dynamic_cast<KGlobalSettings*>(sipCpp))
+        sipType = sipType_KGlobalSettings;
+    else if (dynamic_cast<KGlobalShortcutInfo*>(sipCpp))
+        sipType = sipType_KGlobalShortcutInfo;
+    else if (dynamic_cast<KHelpMenu*>(sipCpp))
+        sipType = sipType_KHelpMenu;
+    else if (dynamic_cast<KIconLoader*>(sipCpp))
+        sipType = sipType_KIconLoader;
+    else if (dynamic_cast<KAbstractWidgetJobTracker*>(sipCpp))
+        {
+        sipType = sipType_KAbstractWidgetJobTracker;
+        if (dynamic_cast<KStatusBarJobTracker*>(sipCpp))
+            sipType = sipType_KStatusBarJobTracker;
+        else if (dynamic_cast<KWidgetJobTracker*>(sipCpp))
+            sipType = sipType_KWidgetJobTracker;
+        }
+    else if (dynamic_cast<KUiServerJobTracker*>(sipCpp))
+        sipType = sipType_KUiServerJobTracker;
+    else if (dynamic_cast<KDialogJobUiDelegate*>(sipCpp))
+        sipType = sipType_KDialogJobUiDelegate;
+    else if (dynamic_cast<KMessageBoxMessageHandler*>(sipCpp))
+        sipType = sipType_KMessageBoxMessageHandler;
+    else if (dynamic_cast<KModelIndexProxyMapper*>(sipCpp))
+        sipType = sipType_KModelIndexProxyMapper;
+    else if (dynamic_cast<KModifierKeyInfo*>(sipCpp))
+        sipType = sipType_KModifierKeyInfo;
+    else if (dynamic_cast<KNotification*>(sipCpp))
+        sipType = sipType_KNotification;
+    else if (dynamic_cast<KNotificationRestrictions*>(sipCpp))
+        sipType = sipType_KNotificationRestrictions;
+    else if (dynamic_cast<KPageWidgetItem*>(sipCpp))
+        sipType = sipType_KPageWidgetItem;
+    else if (dynamic_cast<KPassivePopupMessageHandler*>(sipCpp))
+        sipType = sipType_KPassivePopupMessageHandler;
+    else if (dynamic_cast<KPixmapSequenceOverlayPainter*>(sipCpp))
+        sipType = sipType_KPixmapSequenceOverlayPainter;
+    else if (dynamic_cast<KStartupInfo*>(sipCpp))
+        sipType = sipType_KStartupInfo;
+    else if (dynamic_cast<KStatusNotifierItem*>(sipCpp))
+        sipType = sipType_KStatusNotifierItem;
+    else if (dynamic_cast<KViewStateMaintainerBase*>(sipCpp))
+        sipType = sipType_KViewStateMaintainerBase;
+    else if (dynamic_cast<KViewStateSaver*>(sipCpp))
+        sipType = sipType_KViewStateSaver;
+    else if (dynamic_cast<KWallet::Wallet*>(sipCpp))
+        sipType = sipType_KWallet_Wallet;
+    else if (dynamic_cast<KXMLGUIFactory*>(sipCpp))
+        sipType = sipType_KXMLGUIFactory;
+    else if (dynamic_cast<KWidgetItemDelegate*>(sipCpp))
+        sipType = sipType_KWidgetItemDelegate;
+    else if (dynamic_cast<KExtendableItemDelegate*>(sipCpp))
+        sipType = sipType_KExtendableItemDelegate;
+    else if (dynamic_cast<KPageModel*>(sipCpp))
+        {
+        sipType = sipType_KPageModel;
+        if (dynamic_cast<KPageWidgetModel*>(sipCpp))
+            sipType = sipType_KPageWidgetModel;
+        }
+    else if (dynamic_cast<KDescendantsProxyModel*>(sipCpp))
+        sipType = sipType_KDescendantsProxyModel;
+    else if (dynamic_cast<KIdentityProxyModel*>(sipCpp))
+        {
+        sipType = sipType_KIdentityProxyModel;
+        if (dynamic_cast<KCheckableProxyModel*>(sipCpp))
+            sipType = sipType_KCheckableProxyModel;
+        }
+    else if (dynamic_cast<KSelectionProxyModel*>(sipCpp))
+        sipType = sipType_KSelectionProxyModel;
+    else if (dynamic_cast<KCategorizedSortFilterProxyModel*>(sipCpp))
+        sipType = sipType_KCategorizedSortFilterProxyModel;
+    else if (dynamic_cast<KRecursiveFilterProxyModel*>(sipCpp))
+        sipType = sipType_KRecursiveFilterProxyModel;
+    else if (dynamic_cast<KAction*>(sipCpp))
+        {
+        sipType = sipType_KAction;
+        if (dynamic_cast<KActionMenu*>(sipCpp))
+            sipType = sipType_KActionMenu;
+        else if (dynamic_cast<KDualAction*>(sipCpp))
+            sipType = sipType_KDualAction;
+        else if (dynamic_cast<KPasteTextAction*>(sipCpp))
+            sipType = sipType_KPasteTextAction;
+        else if (dynamic_cast<KSelectAction*>(sipCpp))
+            {
+            sipType = sipType_KSelectAction;
+            if (dynamic_cast<KCodecAction*>(sipCpp))
+                sipType = sipType_KCodecAction;
+            else if (dynamic_cast<KFontAction*>(sipCpp))
+                sipType = sipType_KFontAction;
+            else if (dynamic_cast<KFontSizeAction*>(sipCpp))
+                sipType = sipType_KFontSizeAction;
+            else if (dynamic_cast<KRecentFilesAction*>(sipCpp))
+                sipType = sipType_KRecentFilesAction;
+            }
+        else if (dynamic_cast<KToggleAction*>(sipCpp))
+            {
+            sipType = sipType_KToggleAction;
+            if (dynamic_cast<KToggleFullScreenAction*>(sipCpp))
+                sipType = sipType_KToggleFullScreenAction;
+            else if (dynamic_cast<KToggleToolBarAction*>(sipCpp))
+                sipType = sipType_KToggleToolBarAction;
+            }
+        else if (dynamic_cast<KToolBarLabelAction*>(sipCpp))
+            sipType = sipType_KToolBarLabelAction;
+        else if (dynamic_cast<KToolBarPopupAction*>(sipCpp))
+            sipType = sipType_KToolBarPopupAction;
+        else if (dynamic_cast<KToolBarSpacerAction*>(sipCpp))
+            sipType = sipType_KToolBarSpacerAction;
+        }
+    else if (dynamic_cast<KApplication*>(sipCpp))
+        {
+        sipType = sipType_KApplication;
+        if (dynamic_cast<KUniqueApplication*>(sipCpp))
+            sipType = sipType_KUniqueApplication;
+        }
+    else if (dynamic_cast<KBreadcrumbSelectionModel*>(sipCpp))
+        sipType = sipType_KBreadcrumbSelectionModel;
+    else if (dynamic_cast<KLinkItemSelectionModel*>(sipCpp))
+        sipType = sipType_KLinkItemSelectionModel;
+    else if (dynamic_cast<KStyle*>(sipCpp))
+        sipType = sipType_KStyle;
+    else if (dynamic_cast<KSvgRenderer*>(sipCpp))
+        sipType = sipType_KSvgRenderer;
+    else if (dynamic_cast<Sonnet::Highlighter*>(sipCpp))
+        sipType = sipType_Sonnet_Highlighter;
+    else if (dynamic_cast<KSystemTrayIcon*>(sipCpp))
+        sipType = sipType_KSystemTrayIcon;
+    else if (dynamic_cast<KUndoStack*>(sipCpp))
+        sipType = sipType_KUndoStack;
+    else if (dynamic_cast<KDateValidator*>(sipCpp))
+        sipType = sipType_KDateValidator;
+    else if (dynamic_cast<KFloatValidator*>(sipCpp))
+        sipType = sipType_KFloatValidator;
+    else if (dynamic_cast<KIntValidator*>(sipCpp))
+        sipType = sipType_KIntValidator;
+    else if (dynamic_cast<KMimeTypeValidator*>(sipCpp))
+        sipType = sipType_KMimeTypeValidator;
+    else if (dynamic_cast<KStringListValidator*>(sipCpp))
+        sipType = sipType_KStringListValidator;
+    else if (dynamic_cast<KDoubleValidator*>(sipCpp))
+        sipType = sipType_KDoubleValidator;
+    else if (dynamic_cast<KActionSelector*>(sipCpp))
+        sipType = sipType_KActionSelector;
+    else if (dynamic_cast<KCModule*>(sipCpp))
+        sipType = sipType_KCModule;
+    else if (dynamic_cast<KCapacityBar*>(sipCpp))
+        sipType = sipType_KCapacityBar;
+    else if (dynamic_cast<KCharSelect*>(sipCpp))
+        sipType = sipType_KCharSelect;
+    else if (dynamic_cast<KDateTable*>(sipCpp))
+        sipType = sipType_KDateTable;
+    else if (dynamic_cast<KDateTimeEdit*>(sipCpp))
+        sipType = sipType_KDateTimeEdit;
+    else if (dynamic_cast<KDateTimeWidget*>(sipCpp))
+        sipType = sipType_KDateTimeWidget;
+    else if (dynamic_cast<KDateWidget*>(sipCpp))
+        sipType = sipType_KDateWidget;
+    else if (dynamic_cast<KEditListWidget*>(sipCpp))
+        sipType = sipType_KEditListWidget;
+    else if (dynamic_cast<KFadeWidgetEffect*>(sipCpp))
+        sipType = sipType_KFadeWidgetEffect;
+    else if (dynamic_cast<KFilterProxySearchLine*>(sipCpp))
+        sipType = sipType_KFilterProxySearchLine;
+    else if (dynamic_cast<KFontChooser*>(sipCpp))
+        sipType = sipType_KFontChooser;
+    else if (dynamic_cast<KFontRequester*>(sipCpp))
+        sipType = sipType_KFontRequester;
+    else if (dynamic_cast<KKeySequenceWidget*>(sipCpp))
+        sipType = sipType_KKeySequenceWidget;
+    else if (dynamic_cast<KLanguageButton*>(sipCpp))
+        sipType = sipType_KLanguageButton;
+    else if (dynamic_cast<KLed*>(sipCpp))
+        sipType = sipType_KLed;
+    else if (dynamic_cast<KMultiTabBar*>(sipCpp))
+        sipType = sipType_KMultiTabBar;
+    else if (dynamic_cast<KNumInput*>(sipCpp))
+        {
+        sipType = sipType_KNumInput;
+        if (dynamic_cast<KDoubleNumInput*>(sipCpp))
+            sipType = sipType_KDoubleNumInput;
+        else if (dynamic_cast<KIntNumInput*>(sipCpp))
+            sipType = sipType_KIntNumInput;
+        }
+    else if (dynamic_cast<KPageView*>(sipCpp))
+        {
+        sipType = sipType_KPageView;
+        if (dynamic_cast<KPageWidget*>(sipCpp))
+            sipType = sipType_KPageWidget;
+        }
+    else if (dynamic_cast<KPixmapRegionSelectorWidget*>(sipCpp))
+        sipType = sipType_KPixmapRegionSelectorWidget;
+    else if (dynamic_cast<KPixmapSequenceWidget*>(sipCpp))
+        sipType = sipType_KPixmapSequenceWidget;
+    else if (dynamic_cast<KShortcutWidget*>(sipCpp))
+        sipType = sipType_KShortcutWidget;
+    else if (dynamic_cast<KShortcutsEditor*>(sipCpp))
+        sipType = sipType_KShortcutsEditor;
+    else if (dynamic_cast<KTitleWidget*>(sipCpp))
+        sipType = sipType_KTitleWidget;
+    else if (dynamic_cast<KTreeWidgetSearchLineWidget*>(sipCpp))
+        sipType = sipType_KTreeWidgetSearchLineWidget;
+    else if (dynamic_cast<KXYSelector*>(sipCpp))
+        {
+        sipType = sipType_KXYSelector;
+        if (dynamic_cast<KHueSaturationSelector*>(sipCpp))
+            sipType = sipType_KHueSaturationSelector;
+        }
+    else if (dynamic_cast<KArrowButton*>(sipCpp))
+        sipType = sipType_KArrowButton;
+    else if (dynamic_cast<KColorButton*>(sipCpp))
+        sipType = sipType_KColorButton;
+    else if (dynamic_cast<KMultiTabBarButton*>(sipCpp))
+        {
+        sipType = sipType_KMultiTabBarButton;
+        if (dynamic_cast<KMultiTabBarTab*>(sipCpp))
+            sipType = sipType_KMultiTabBarTab;
+        }
+    else if (dynamic_cast<KPushButton*>(sipCpp))
+        sipType = sipType_KPushButton;
+    else if (dynamic_cast<KAnimatedButton*>(sipCpp))
+        sipType = sipType_KAnimatedButton;
+    else if (dynamic_cast<KRuler*>(sipCpp))
+        sipType = sipType_KRuler;
+    else if (dynamic_cast<KSelector*>(sipCpp))
+        {
+        sipType = sipType_KSelector;
+        if (dynamic_cast<KColorValueSelector*>(sipCpp))
+            sipType = sipType_KColorValueSelector;
+        else if (dynamic_cast<KGradientSelector*>(sipCpp))
+            sipType = sipType_KGradientSelector;
+        }
+    else if (dynamic_cast<KIntSpinBox*>(sipCpp))
+        sipType = sipType_KIntSpinBox;
+    else if (dynamic_cast<KColorCombo*>(sipCpp))
+        sipType = sipType_KColorCombo;
+    else if (dynamic_cast<KComboBox*>(sipCpp))
+        {
+        sipType = sipType_KComboBox;
+        if (dynamic_cast<KDateComboBox*>(sipCpp))
+            sipType = sipType_KDateComboBox;
+        else if (dynamic_cast<KFontComboBox*>(sipCpp))
+            sipType = sipType_KFontComboBox;
+        else if (dynamic_cast<KHistoryComboBox*>(sipCpp))
+            sipType = sipType_KHistoryComboBox;
+        else if (dynamic_cast<KTimeComboBox*>(sipCpp))
+            sipType = sipType_KTimeComboBox;
+        else if (dynamic_cast<Sonnet::DictionaryComboBox*>(sipCpp))
+            sipType = sipType_Sonnet_DictionaryComboBox;
+        }
+    else if (dynamic_cast<KDialog*>(sipCpp))
+        {
+        sipType = sipType_KDialog;
+        if (dynamic_cast<KAboutApplicationDialog*>(sipCpp))
+            sipType = sipType_KAboutApplicationDialog;
+        else if (dynamic_cast<KBugReport*>(sipCpp))
+            sipType = sipType_KBugReport;
+        else if (dynamic_cast<KColorDialog*>(sipCpp))
+            sipType = sipType_KColorDialog;
+        else if (dynamic_cast<KEditToolBar*>(sipCpp))
+            sipType = sipType_KEditToolBar;
+        else if (dynamic_cast<KFindDialog*>(sipCpp))
+            {
+            sipType = sipType_KFindDialog;
+            if (dynamic_cast<KReplaceDialog*>(sipCpp))
+                sipType = sipType_KReplaceDialog;
+            }
+        else if (dynamic_cast<KFontDialog*>(sipCpp))
+            sipType = sipType_KFontDialog;
+        else if (dynamic_cast<KNewPasswordDialog*>(sipCpp))
+            sipType = sipType_KNewPasswordDialog;
+        else if (dynamic_cast<KPageDialog*>(sipCpp))
+            {
+            sipType = sipType_KPageDialog;
+            if (dynamic_cast<KAssistantDialog*>(sipCpp))
+                sipType = sipType_KAssistantDialog;
+            else if (dynamic_cast<KConfigDialog*>(sipCpp))
+                sipType = sipType_KConfigDialog;
+            }
+        else if (dynamic_cast<KPasswordDialog*>(sipCpp))
+            sipType = sipType_KPasswordDialog;
+        else if (dynamic_cast<KPixmapRegionSelectorDialog*>(sipCpp))
+            sipType = sipType_KPixmapRegionSelectorDialog;
+        else if (dynamic_cast<KProgressDialog*>(sipCpp))
+            sipType = sipType_KProgressDialog;
+        else if (dynamic_cast<KShortcutsDialog*>(sipCpp))
+            sipType = sipType_KShortcutsDialog;
+        else if (dynamic_cast<KTipDialog*>(sipCpp))
+            sipType = sipType_KTipDialog;
+        else if (dynamic_cast<Sonnet::ConfigDialog*>(sipCpp))
+            sipType = sipType_Sonnet_ConfigDialog;
+        else if (dynamic_cast<Sonnet::Dialog*>(sipCpp))
+            sipType = sipType_Sonnet_Dialog;
+        }
+    else if (dynamic_cast<KDialogButtonBox*>(sipCpp))
+        sipType = sipType_KDialogButtonBox;
+    else if (dynamic_cast<KColorPatch*>(sipCpp))
+        sipType = sipType_KColorPatch;
+    else if (dynamic_cast<KDatePicker*>(sipCpp))
+        sipType = sipType_KDatePicker;
+    else if (dynamic_cast<KHBox*>(sipCpp))
+        {
+        sipType = sipType_KHBox;
+        if (dynamic_cast<KVBox*>(sipCpp))
+            sipType = sipType_KVBox;
+        }
+    else if (dynamic_cast<KMessageWidget*>(sipCpp))
+        sipType = sipType_KMessageWidget;
+    else if (dynamic_cast<KPassivePopup*>(sipCpp))
+        sipType = sipType_KPassivePopup;
+    else if (dynamic_cast<KPlotWidget*>(sipCpp))
+        sipType = sipType_KPlotWidget;
+    else if (dynamic_cast<KPopupFrame*>(sipCpp))
+        sipType = sipType_KPopupFrame;
+    else if (dynamic_cast<KRatingWidget*>(sipCpp))
+        sipType = sipType_KRatingWidget;
+    else if (dynamic_cast<KSeparator*>(sipCpp))
+        sipType = sipType_KSeparator;
+    else if (dynamic_cast<KCategorizedView*>(sipCpp))
+        sipType = sipType_KCategorizedView;
+    else if (dynamic_cast<KListWidget*>(sipCpp))
+        {
+        sipType = sipType_KListWidget;
+        if (dynamic_cast<KCompletionBox*>(sipCpp))
+            sipType = sipType_KCompletionBox;
+        }
+    else if (dynamic_cast<KColorCells*>(sipCpp))
+        sipType = sipType_KColorCells;
+    else if (dynamic_cast<KTimeZoneWidget*>(sipCpp))
+        sipType = sipType_KTimeZoneWidget;
+    else if (dynamic_cast<KTextEdit*>(sipCpp))
+        {
+        sipType = sipType_KTextEdit;
+        if (dynamic_cast<KRichTextEdit*>(sipCpp))
+            {
+            sipType = sipType_KRichTextEdit;
+            if (dynamic_cast<KRichTextWidget*>(sipCpp))
+                sipType = sipType_KRichTextWidget;
+            }
+        }
+    else if (dynamic_cast<KTextBrowser*>(sipCpp))
+        sipType = sipType_KTextBrowser;
+    else if (dynamic_cast<KSqueezedTextLabel*>(sipCpp))
+        sipType = sipType_KSqueezedTextLabel;
+    else if (dynamic_cast<KUrlLabel*>(sipCpp))
+        sipType = sipType_KUrlLabel;
+    else if (dynamic_cast<KButtonGroup*>(sipCpp))
+        sipType = sipType_KButtonGroup;
+    else if (dynamic_cast<KEditListBox*>(sipCpp))
+        sipType = sipType_KEditListBox;
+    else if (dynamic_cast<KLineEdit*>(sipCpp))
+        {
+        sipType = sipType_KLineEdit;
+        if (dynamic_cast<KListWidgetSearchLine*>(sipCpp))
+            sipType = sipType_KListWidgetSearchLine;
+        else if (dynamic_cast<KRestrictedLine*>(sipCpp))
+            sipType = sipType_KRestrictedLine;
+        else if (dynamic_cast<KTreeWidgetSearchLine*>(sipCpp))
+            sipType = sipType_KTreeWidgetSearchLine;
+        }
+    else if (dynamic_cast<KMainWindow*>(sipCpp))
+        {
+        sipType = sipType_KMainWindow;
+        if (dynamic_cast<KXmlGuiWindow*>(sipCpp))
+            sipType = sipType_KXmlGuiWindow;
+        }
+    else if (dynamic_cast<KMenu*>(sipCpp))
+        sipType = sipType_KMenu;
+    else if (dynamic_cast<KMenuBar*>(sipCpp))
+        sipType = sipType_KMenuBar;
+    else if (dynamic_cast<KSplashScreen*>(sipCpp))
+        sipType = sipType_KSplashScreen;
+    else if (dynamic_cast<KStatusBar*>(sipCpp))
+        sipType = sipType_KStatusBar;
+    else if (dynamic_cast<KTabBar*>(sipCpp))
+        sipType = sipType_KTabBar;
+    else if (dynamic_cast<KTabWidget*>(sipCpp))
+        sipType = sipType_KTabWidget;
+    else if (dynamic_cast<KToolBar*>(sipCpp))
+        sipType = sipType_KToolBar;
+    else if (dynamic_cast<Sonnet::ConfigWidget*>(sipCpp))
+        sipType = sipType_Sonnet_ConfigWidget;
+%End
+%End
 
 public:
     ~KAbstractWidgetJobTracker ();
diff --git sip/kdeui/kapplication.sip sip/kdeui/kapplication.sip
index febcd38..3f95d9a 100644
--- sip/kdeui/kapplication.sip
+++ sip/kdeui/kapplication.sip
@@ -92,6 +92,7 @@ static void kdeui_UpdatePyArgv(PyObject *argvlist, int argc, char **argv)
 
 public:
     explicit                KApplication (bool GUIenabled = 1);
+%If (WS_X11)
     explicit                KApplication (Display* display, Qt::HANDLE visual = 0, Qt::HANDLE colormap = 0);
 //force
                             KApplication (Display* display, SIP_PYLIST list, const QByteArray& rAppName, bool GUIenabled = 1) [(Display*, int&, char**, const QByteArray&, bool = 1)];
@@ -119,6 +120,7 @@ public:
         }
 %End
 //end
+%End
 //ig                            KApplication (Display* display, int& argc, char** argv, const QByteArray& rAppName, bool GUIenabled = 1);
 
     static KApplication*    kApplication ();
@@ -141,8 +143,10 @@ public:
     unsigned long           userTimestamp () const;
     void                    updateRemoteUserTimestamp (const QString& service, int time = 0);
     bool                    notify (QObject* receiver, QEvent* event);
+%If (WS_X11)
 //ig    int                     xErrhandler (Display*, void*);
     int                     xioErrhandler (Display*);
+%End
 //ig    void                    iceIOErrorHandler (_IceConn* conn);
     bool loadedByKdeinit;
     void                    updateUserTimestamp (int time = 0);
@@ -154,8 +158,10 @@ signals:
 
 protected:
                             KApplication (bool GUIenabled, const KComponentData& cData);
+%If (WS_X11)
                             KApplication (Display* display, Qt::HANDLE visual, Qt::HANDLE colormap, const KComponentData& cData);
 //ig    bool                    x11EventFilter (XEvent*);
+%End
 
 private:
                             KApplication (const KApplication&);
--- sip/kdeui/kkeyserver_x11.sip.orig  2014-08-14 22:17:11.000000000 +0200
+++ sip/kdeui/kkeyserver_x11.sip        2015-03-08 21:49:55.000000000 +0100
@@ -19,6 +19,7 @@
 // You should have received a copy of the GNU General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+%If (WS_X11)
 %ModuleHeaderCode
 #include <kkeyserver_x11.h>
 %End
@@ -50,4 +51,4 @@
 %ModuleHeaderCode
 #include <kkeyserver_x11.h>
 %End
-
+%End
diff --git sip/kdeui/kmanagerselection.sip sip/kdeui/kmanagerselection.sip
index fd13239..e7acfcc 100644
--- sip/kdeui/kmanagerselection.sip
+++ sip/kdeui/kmanagerselection.sip
@@ -19,7 +19,7 @@
 // You should have received a copy of the GNU General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-
+%If (WS_X11)
 class KSelectionOwner : QObject
 {
 %TypeHeaderCode
@@ -71,4 +71,4 @@ public:
 };
 // KSelectionWatcher
 
-
+%End
diff --git sip/kdeui/kratingwidget.sip sip/kdeui/kratingwidget.sip
index d5ced65..f17af8b 100644
--- sip/kdeui/kratingwidget.sip
+++ sip/kdeui/kratingwidget.sip
@@ -235,6 +235,7 @@ protected:
 
 //  Subclasses of QObject
 
+%If (WS_X11)
 %ConvertToSubClassCode
     // CTSCC for subclasses of 'QObject'
     sipType = NULL;
@@ -650,7 +651,418 @@ protected:
     else if (dynamic_cast<Sonnet::ConfigWidget*>(sipCpp))
         sipType = sipType_Sonnet_ConfigWidget;
 %End
+%End
+%If (!WS_X11)
+%ConvertToSubClassCode
+    // CTSCC for subclasses of 'QObject'
+    sipType = NULL;
 
+    if (dynamic_cast<KActionCategory*>(sipCpp))
+        sipType = sipType_KActionCategory;
+    else if (dynamic_cast<KActionCollection*>(sipCpp))
+        sipType = sipType_KActionCollection;
+    else if (dynamic_cast<KCategoryDrawerV2*>(sipCpp))
+        {
+        sipType = sipType_KCategoryDrawerV2;
+        if (dynamic_cast<KCategoryDrawerV3*>(sipCpp))
+            sipType = sipType_KCategoryDrawerV3;
+        }
+    else if (dynamic_cast<KCompletion*>(sipCpp))
+        sipType = sipType_KCompletion;
+    else if (dynamic_cast<KConfigDialogManager*>(sipCpp))
+        sipType = sipType_KConfigDialogManager;
+    else if (dynamic_cast<KConfigSkeleton*>(sipCpp))
+        sipType = sipType_KConfigSkeleton;
+    else if (dynamic_cast<KFind*>(sipCpp))
+        {
+        sipType = sipType_KFind;
+        if (dynamic_cast<KReplace*>(sipCpp))
+            sipType = sipType_KReplace;
+        }
+    else if (dynamic_cast<KGlobalAccel*>(sipCpp))
+        sipType = sipType_KGlobalAccel;
+    else if (dynamic_cast<KGlobalSettings*>(sipCpp))
+        sipType = sipType_KGlobalSettings;
+    else if (dynamic_cast<KGlobalShortcutInfo*>(sipCpp))
+        sipType = sipType_KGlobalShortcutInfo;
+    else if (dynamic_cast<KHelpMenu*>(sipCpp))
+        sipType = sipType_KHelpMenu;
+    else if (dynamic_cast<KIconLoader*>(sipCpp))
+        sipType = sipType_KIconLoader;
+    else if (dynamic_cast<KAbstractWidgetJobTracker*>(sipCpp))
+        {
+        sipType = sipType_KAbstractWidgetJobTracker;
+        if (dynamic_cast<KStatusBarJobTracker*>(sipCpp))
+            sipType = sipType_KStatusBarJobTracker;
+        else if (dynamic_cast<KWidgetJobTracker*>(sipCpp))
+            sipType = sipType_KWidgetJobTracker;
+        }
+    else if (dynamic_cast<KUiServerJobTracker*>(sipCpp))
+        sipType = sipType_KUiServerJobTracker;
+    else if (dynamic_cast<KDialogJobUiDelegate*>(sipCpp))
+        sipType = sipType_KDialogJobUiDelegate;
+    else if (dynamic_cast<KMessageBoxMessageHandler*>(sipCpp))
+        sipType = sipType_KMessageBoxMessageHandler;
+    else if (dynamic_cast<KModelIndexProxyMapper*>(sipCpp))
+        sipType = sipType_KModelIndexProxyMapper;
+    else if (dynamic_cast<KModifierKeyInfo*>(sipCpp))
+        sipType = sipType_KModifierKeyInfo;
+    else if (dynamic_cast<KNotification*>(sipCpp))
+        sipType = sipType_KNotification;
+    else if (dynamic_cast<KNotificationRestrictions*>(sipCpp))
+        sipType = sipType_KNotificationRestrictions;
+    else if (dynamic_cast<KPageWidgetItem*>(sipCpp))
+        sipType = sipType_KPageWidgetItem;
+    else if (dynamic_cast<KPassivePopupMessageHandler*>(sipCpp))
+        sipType = sipType_KPassivePopupMessageHandler;
+    else if (dynamic_cast<KPixmapSequenceOverlayPainter*>(sipCpp))
+        sipType = sipType_KPixmapSequenceOverlayPainter;
+    else if (dynamic_cast<KStartupInfo*>(sipCpp))
+        sipType = sipType_KStartupInfo;
+    else if (dynamic_cast<KStatusNotifierItem*>(sipCpp))
+        sipType = sipType_KStatusNotifierItem;
+    else if (dynamic_cast<KViewStateMaintainerBase*>(sipCpp))
+        sipType = sipType_KViewStateMaintainerBase;
+    else if (dynamic_cast<KViewStateSaver*>(sipCpp))
+        sipType = sipType_KViewStateSaver;
+    else if (dynamic_cast<KWallet::Wallet*>(sipCpp))
+        sipType = sipType_KWallet_Wallet;
+    else if (dynamic_cast<KXMLGUIFactory*>(sipCpp))
+        sipType = sipType_KXMLGUIFactory;
+    else if (dynamic_cast<KWidgetItemDelegate*>(sipCpp))
+        sipType = sipType_KWidgetItemDelegate;
+    else if (dynamic_cast<KExtendableItemDelegate*>(sipCpp))
+        sipType = sipType_KExtendableItemDelegate;
+    else if (dynamic_cast<KPageModel*>(sipCpp))
+        {
+        sipType = sipType_KPageModel;
+        if (dynamic_cast<KPageWidgetModel*>(sipCpp))
+            sipType = sipType_KPageWidgetModel;
+        }
+    else if (dynamic_cast<KDescendantsProxyModel*>(sipCpp))
+        sipType = sipType_KDescendantsProxyModel;
+    else if (dynamic_cast<KIdentityProxyModel*>(sipCpp))
+        {
+        sipType = sipType_KIdentityProxyModel;
+        if (dynamic_cast<KCheckableProxyModel*>(sipCpp))
+            sipType = sipType_KCheckableProxyModel;
+        }
+    else if (dynamic_cast<KSelectionProxyModel*>(sipCpp))
+        sipType = sipType_KSelectionProxyModel;
+    else if (dynamic_cast<KCategorizedSortFilterProxyModel*>(sipCpp))
+        sipType = sipType_KCategorizedSortFilterProxyModel;
+    else if (dynamic_cast<KRecursiveFilterProxyModel*>(sipCpp))
+        sipType = sipType_KRecursiveFilterProxyModel;
+    else if (dynamic_cast<KAction*>(sipCpp))
+        {
+        sipType = sipType_KAction;
+        if (dynamic_cast<KActionMenu*>(sipCpp))
+            sipType = sipType_KActionMenu;
+        else if (dynamic_cast<KDualAction*>(sipCpp))
+            sipType = sipType_KDualAction;
+        else if (dynamic_cast<KPasteTextAction*>(sipCpp))
+            sipType = sipType_KPasteTextAction;
+        else if (dynamic_cast<KSelectAction*>(sipCpp))
+            {
+            sipType = sipType_KSelectAction;
+            if (dynamic_cast<KCodecAction*>(sipCpp))
+                sipType = sipType_KCodecAction;
+            else if (dynamic_cast<KFontAction*>(sipCpp))
+                sipType = sipType_KFontAction;
+            else if (dynamic_cast<KFontSizeAction*>(sipCpp))
+                sipType = sipType_KFontSizeAction;
+            else if (dynamic_cast<KRecentFilesAction*>(sipCpp))
+                sipType = sipType_KRecentFilesAction;
+            }
+        else if (dynamic_cast<KToggleAction*>(sipCpp))
+            {
+            sipType = sipType_KToggleAction;
+            if (dynamic_cast<KToggleFullScreenAction*>(sipCpp))
+                sipType = sipType_KToggleFullScreenAction;
+            else if (dynamic_cast<KToggleToolBarAction*>(sipCpp))
+                sipType = sipType_KToggleToolBarAction;
+            }
+        else if (dynamic_cast<KToolBarLabelAction*>(sipCpp))
+            sipType = sipType_KToolBarLabelAction;
+        else if (dynamic_cast<KToolBarPopupAction*>(sipCpp))
+            sipType = sipType_KToolBarPopupAction;
+        else if (dynamic_cast<KToolBarSpacerAction*>(sipCpp))
+            sipType = sipType_KToolBarSpacerAction;
+        }
+    else if (dynamic_cast<KApplication*>(sipCpp))
+        {
+        sipType = sipType_KApplication;
+        if (dynamic_cast<KUniqueApplication*>(sipCpp))
+            sipType = sipType_KUniqueApplication;
+        }
+    else if (dynamic_cast<KBreadcrumbSelectionModel*>(sipCpp))
+        sipType = sipType_KBreadcrumbSelectionModel;
+    else if (dynamic_cast<KLinkItemSelectionModel*>(sipCpp))
+        sipType = sipType_KLinkItemSelectionModel;
+    else if (dynamic_cast<KStyle*>(sipCpp))
+        sipType = sipType_KStyle;
+    else if (dynamic_cast<KSvgRenderer*>(sipCpp))
+        sipType = sipType_KSvgRenderer;
+    else if (dynamic_cast<Sonnet::Highlighter*>(sipCpp))
+        sipType = sipType_Sonnet_Highlighter;
+    else if (dynamic_cast<KSystemTrayIcon*>(sipCpp))
+        sipType = sipType_KSystemTrayIcon;
+    else if (dynamic_cast<KUndoStack*>(sipCpp))
+        sipType = sipType_KUndoStack;
+    else if (dynamic_cast<KDateValidator*>(sipCpp))
+        sipType = sipType_KDateValidator;
+    else if (dynamic_cast<KFloatValidator*>(sipCpp))
+        sipType = sipType_KFloatValidator;
+    else if (dynamic_cast<KIntValidator*>(sipCpp))
+        sipType = sipType_KIntValidator;
+    else if (dynamic_cast<KMimeTypeValidator*>(sipCpp))
+        sipType = sipType_KMimeTypeValidator;
+    else if (dynamic_cast<KStringListValidator*>(sipCpp))
+        sipType = sipType_KStringListValidator;
+    else if (dynamic_cast<KDoubleValidator*>(sipCpp))
+        sipType = sipType_KDoubleValidator;
+    else if (dynamic_cast<KActionSelector*>(sipCpp))
+        sipType = sipType_KActionSelector;
+    else if (dynamic_cast<KCModule*>(sipCpp))
+        sipType = sipType_KCModule;
+    else if (dynamic_cast<KCapacityBar*>(sipCpp))
+        sipType = sipType_KCapacityBar;
+    else if (dynamic_cast<KCharSelect*>(sipCpp))
+        sipType = sipType_KCharSelect;
+    else if (dynamic_cast<KDateTable*>(sipCpp))
+        sipType = sipType_KDateTable;
+    else if (dynamic_cast<KDateTimeEdit*>(sipCpp))
+        sipType = sipType_KDateTimeEdit;
+    else if (dynamic_cast<KDateTimeWidget*>(sipCpp))
+        sipType = sipType_KDateTimeWidget;
+    else if (dynamic_cast<KDateWidget*>(sipCpp))
+        sipType = sipType_KDateWidget;
+    else if (dynamic_cast<KEditListWidget*>(sipCpp))
+        sipType = sipType_KEditListWidget;
+    else if (dynamic_cast<KFadeWidgetEffect*>(sipCpp))
+        sipType = sipType_KFadeWidgetEffect;
+    else if (dynamic_cast<KFilterProxySearchLine*>(sipCpp))
+        sipType = sipType_KFilterProxySearchLine;
+    else if (dynamic_cast<KFontChooser*>(sipCpp))
+        sipType = sipType_KFontChooser;
+    else if (dynamic_cast<KFontRequester*>(sipCpp))
+        sipType = sipType_KFontRequester;
+    else if (dynamic_cast<KKeySequenceWidget*>(sipCpp))
+        sipType = sipType_KKeySequenceWidget;
+    else if (dynamic_cast<KLanguageButton*>(sipCpp))
+        sipType = sipType_KLanguageButton;
+    else if (dynamic_cast<KLed*>(sipCpp))
+        sipType = sipType_KLed;
+    else if (dynamic_cast<KMultiTabBar*>(sipCpp))
+        sipType = sipType_KMultiTabBar;
+    else if (dynamic_cast<KNumInput*>(sipCpp))
+        {
+        sipType = sipType_KNumInput;
+        if (dynamic_cast<KDoubleNumInput*>(sipCpp))
+            sipType = sipType_KDoubleNumInput;
+        else if (dynamic_cast<KIntNumInput*>(sipCpp))
+            sipType = sipType_KIntNumInput;
+        }
+    else if (dynamic_cast<KPageView*>(sipCpp))
+        {
+        sipType = sipType_KPageView;
+        if (dynamic_cast<KPageWidget*>(sipCpp))
+            sipType = sipType_KPageWidget;
+        }
+    else if (dynamic_cast<KPixmapRegionSelectorWidget*>(sipCpp))
+        sipType = sipType_KPixmapRegionSelectorWidget;
+    else if (dynamic_cast<KPixmapSequenceWidget*>(sipCpp))
+        sipType = sipType_KPixmapSequenceWidget;
+    else if (dynamic_cast<KShortcutWidget*>(sipCpp))
+        sipType = sipType_KShortcutWidget;
+    else if (dynamic_cast<KShortcutsEditor*>(sipCpp))
+        sipType = sipType_KShortcutsEditor;
+    else if (dynamic_cast<KTitleWidget*>(sipCpp))
+        sipType = sipType_KTitleWidget;
+    else if (dynamic_cast<KTreeWidgetSearchLineWidget*>(sipCpp))
+        sipType = sipType_KTreeWidgetSearchLineWidget;
+    else if (dynamic_cast<KXYSelector*>(sipCpp))
+        {
+        sipType = sipType_KXYSelector;
+        if (dynamic_cast<KHueSaturationSelector*>(sipCpp))
+            sipType = sipType_KHueSaturationSelector;
+        }
+    else if (dynamic_cast<KArrowButton*>(sipCpp))
+        sipType = sipType_KArrowButton;
+    else if (dynamic_cast<KColorButton*>(sipCpp))
+        sipType = sipType_KColorButton;
+    else if (dynamic_cast<KMultiTabBarButton*>(sipCpp))
+        {
+        sipType = sipType_KMultiTabBarButton;
+        if (dynamic_cast<KMultiTabBarTab*>(sipCpp))
+            sipType = sipType_KMultiTabBarTab;
+        }
+    else if (dynamic_cast<KPushButton*>(sipCpp))
+        sipType = sipType_KPushButton;
+    else if (dynamic_cast<KAnimatedButton*>(sipCpp))
+        sipType = sipType_KAnimatedButton;
+    else if (dynamic_cast<KRuler*>(sipCpp))
+        sipType = sipType_KRuler;
+    else if (dynamic_cast<KSelector*>(sipCpp))
+        {
+        sipType = sipType_KSelector;
+        if (dynamic_cast<KColorValueSelector*>(sipCpp))
+            sipType = sipType_KColorValueSelector;
+        else if (dynamic_cast<KGradientSelector*>(sipCpp))
+            sipType = sipType_KGradientSelector;
+        }
+    else if (dynamic_cast<KIntSpinBox*>(sipCpp))
+        sipType = sipType_KIntSpinBox;
+    else if (dynamic_cast<KColorCombo*>(sipCpp))
+        sipType = sipType_KColorCombo;
+    else if (dynamic_cast<KComboBox*>(sipCpp))
+        {
+        sipType = sipType_KComboBox;
+        if (dynamic_cast<KDateComboBox*>(sipCpp))
+            sipType = sipType_KDateComboBox;
+        else if (dynamic_cast<KFontComboBox*>(sipCpp))
+            sipType = sipType_KFontComboBox;
+        else if (dynamic_cast<KHistoryComboBox*>(sipCpp))
+            sipType = sipType_KHistoryComboBox;
+        else if (dynamic_cast<KTimeComboBox*>(sipCpp))
+            sipType = sipType_KTimeComboBox;
+        else if (dynamic_cast<Sonnet::DictionaryComboBox*>(sipCpp))
+            sipType = sipType_Sonnet_DictionaryComboBox;
+        }
+    else if (dynamic_cast<KDialog*>(sipCpp))
+        {
+        sipType = sipType_KDialog;
+        if (dynamic_cast<KAboutApplicationDialog*>(sipCpp))
+            sipType = sipType_KAboutApplicationDialog;
+        else if (dynamic_cast<KBugReport*>(sipCpp))
+            sipType = sipType_KBugReport;
+        else if (dynamic_cast<KColorDialog*>(sipCpp))
+            sipType = sipType_KColorDialog;
+        else if (dynamic_cast<KEditToolBar*>(sipCpp))
+            sipType = sipType_KEditToolBar;
+        else if (dynamic_cast<KFindDialog*>(sipCpp))
+            {
+            sipType = sipType_KFindDialog;
+            if (dynamic_cast<KReplaceDialog*>(sipCpp))
+                sipType = sipType_KReplaceDialog;
+            }
+        else if (dynamic_cast<KFontDialog*>(sipCpp))
+            sipType = sipType_KFontDialog;
+        else if (dynamic_cast<KNewPasswordDialog*>(sipCpp))
+            sipType = sipType_KNewPasswordDialog;
+        else if (dynamic_cast<KPageDialog*>(sipCpp))
+            {
+            sipType = sipType_KPageDialog;
+            if (dynamic_cast<KAssistantDialog*>(sipCpp))
+                sipType = sipType_KAssistantDialog;
+            else if (dynamic_cast<KConfigDialog*>(sipCpp))
+                sipType = sipType_KConfigDialog;
+            }
+        else if (dynamic_cast<KPasswordDialog*>(sipCpp))
+            sipType = sipType_KPasswordDialog;
+        else if (dynamic_cast<KPixmapRegionSelectorDialog*>(sipCpp))
+            sipType = sipType_KPixmapRegionSelectorDialog;
+        else if (dynamic_cast<KProgressDialog*>(sipCpp))
+            sipType = sipType_KProgressDialog;
+        else if (dynamic_cast<KShortcutsDialog*>(sipCpp))
+            sipType = sipType_KShortcutsDialog;
+        else if (dynamic_cast<KTipDialog*>(sipCpp))
+            sipType = sipType_KTipDialog;
+        else if (dynamic_cast<Sonnet::ConfigDialog*>(sipCpp))
+            sipType = sipType_Sonnet_ConfigDialog;
+        else if (dynamic_cast<Sonnet::Dialog*>(sipCpp))
+            sipType = sipType_Sonnet_Dialog;
+        }
+    else if (dynamic_cast<KDialogButtonBox*>(sipCpp))
+        sipType = sipType_KDialogButtonBox;
+    else if (dynamic_cast<KColorPatch*>(sipCpp))
+        sipType = sipType_KColorPatch;
+    else if (dynamic_cast<KDatePicker*>(sipCpp))
+        sipType = sipType_KDatePicker;
+    else if (dynamic_cast<KHBox*>(sipCpp))
+        {
+        sipType = sipType_KHBox;
+        if (dynamic_cast<KVBox*>(sipCpp))
+            sipType = sipType_KVBox;
+        }
+    else if (dynamic_cast<KMessageWidget*>(sipCpp))
+        sipType = sipType_KMessageWidget;
+    else if (dynamic_cast<KPassivePopup*>(sipCpp))
+        sipType = sipType_KPassivePopup;
+    else if (dynamic_cast<KPlotWidget*>(sipCpp))
+        sipType = sipType_KPlotWidget;
+    else if (dynamic_cast<KPopupFrame*>(sipCpp))
+        sipType = sipType_KPopupFrame;
+    else if (dynamic_cast<KRatingWidget*>(sipCpp))
+        sipType = sipType_KRatingWidget;
+    else if (dynamic_cast<KSeparator*>(sipCpp))
+        sipType = sipType_KSeparator;
+    else if (dynamic_cast<KCategorizedView*>(sipCpp))
+        sipType = sipType_KCategorizedView;
+    else if (dynamic_cast<KListWidget*>(sipCpp))
+        {
+        sipType = sipType_KListWidget;
+        if (dynamic_cast<KCompletionBox*>(sipCpp))
+            sipType = sipType_KCompletionBox;
+        }
+    else if (dynamic_cast<KColorCells*>(sipCpp))
+        sipType = sipType_KColorCells;
+    else if (dynamic_cast<KTimeZoneWidget*>(sipCpp))
+        sipType = sipType_KTimeZoneWidget;
+    else if (dynamic_cast<KTextEdit*>(sipCpp))
+        {
+        sipType = sipType_KTextEdit;
+        if (dynamic_cast<KRichTextEdit*>(sipCpp))
+            {
+            sipType = sipType_KRichTextEdit;
+            if (dynamic_cast<KRichTextWidget*>(sipCpp))
+                sipType = sipType_KRichTextWidget;
+            }
+        }
+    else if (dynamic_cast<KTextBrowser*>(sipCpp))
+        sipType = sipType_KTextBrowser;
+    else if (dynamic_cast<KSqueezedTextLabel*>(sipCpp))
+        sipType = sipType_KSqueezedTextLabel;
+    else if (dynamic_cast<KUrlLabel*>(sipCpp))
+        sipType = sipType_KUrlLabel;
+    else if (dynamic_cast<KButtonGroup*>(sipCpp))
+        sipType = sipType_KButtonGroup;
+    else if (dynamic_cast<KEditListBox*>(sipCpp))
+        sipType = sipType_KEditListBox;
+    else if (dynamic_cast<KLineEdit*>(sipCpp))
+        {
+        sipType = sipType_KLineEdit;
+        if (dynamic_cast<KListWidgetSearchLine*>(sipCpp))
+            sipType = sipType_KListWidgetSearchLine;
+        else if (dynamic_cast<KRestrictedLine*>(sipCpp))
+            sipType = sipType_KRestrictedLine;
+        else if (dynamic_cast<KTreeWidgetSearchLine*>(sipCpp))
+            sipType = sipType_KTreeWidgetSearchLine;
+        }
+    else if (dynamic_cast<KMainWindow*>(sipCpp))
+        {
+        sipType = sipType_KMainWindow;
+        if (dynamic_cast<KXmlGuiWindow*>(sipCpp))
+            sipType = sipType_KXmlGuiWindow;
+        }
+    else if (dynamic_cast<KMenu*>(sipCpp))
+        sipType = sipType_KMenu;
+    else if (dynamic_cast<KMenuBar*>(sipCpp))
+        sipType = sipType_KMenuBar;
+    else if (dynamic_cast<KSplashScreen*>(sipCpp))
+        sipType = sipType_KSplashScreen;
+    else if (dynamic_cast<KStatusBar*>(sipCpp))
+        sipType = sipType_KStatusBar;
+    else if (dynamic_cast<KTabBar*>(sipCpp))
+        sipType = sipType_KTabBar;
+    else if (dynamic_cast<KTabWidget*>(sipCpp))
+        sipType = sipType_KTabWidget;
+    else if (dynamic_cast<KToolBar*>(sipCpp))
+        sipType = sipType_KToolBar;
+    else if (dynamic_cast<Sonnet::ConfigWidget*>(sipCpp))
+        sipType = sipType_Sonnet_ConfigWidget;
+%End
+%End
 public:
     ~KRatingWidget ();
 };
diff --git sip/kdeui/kuniqueapplication.sip sip/kdeui/kuniqueapplication.sip
index d9b9ce3..cffc66b 100644
--- sip/kdeui/kuniqueapplication.sip
+++ sip/kdeui/kuniqueapplication.sip
@@ -29,7 +29,9 @@ class KUniqueApplication : KApplication
 
 public:
     explicit                KUniqueApplication (bool GUIenabled = 1, bool configUnique = 0);
+%If (WS_X11)
     explicit                KUniqueApplication (Display* display, Qt::HANDLE visual = 0, Qt::HANDLE colormap = 0, bool configUnique = 0);
+%End
     static void             addCmdLineOptions ();
 
 
diff --git sip/kdeui/kwallet.sip sip/kdeui/kwallet.sip
index e05454a..11308c4 100644
--- sip/kdeui/kwallet.sip
+++ sip/kdeui/kwallet.sip
@@ -106,7 +106,9 @@ protected:
 //ig    virtual void            virtual_hook (int id, void* data);
 public:
     ~Wallet ();
+%If (!WS_MACX)
     static bool             isUsingKSecretsService ();
+%End
 };
 // Wallet
 
diff --git sip/kdeui/kwindowinfo.sip sip/kdeui/kwindowinfo.sip
index 24e060c..498ebca 100644
--- sip/kdeui/kwindowinfo.sip
+++ sip/kdeui/kwindowinfo.sip
@@ -50,12 +50,14 @@ public:
     int                     desktop () const;
     QRect                   geometry () const;
     QRect                   frameGeometry () const;
+%If (WS_X11)
     WId                     transientFor () const;
     WId                     groupLeader () const;
     QByteArray              windowClassClass () const;
     QByteArray              windowClassName () const;
     QByteArray              windowRole () const;
     QByteArray              clientMachine () const;
+%End
     bool                    actionSupported (NET::Action action) const;
                             KWindowInfo (const KWindowInfo&);
     ~KWindowInfo ();
diff --git sip/kdeui/kwindowsystem.sip sip/kdeui/kwindowsystem.sip
index 161f6c0..955fcc6 100644
--- sip/kdeui/kwindowsystem.sip
+++ sip/kdeui/kwindowsystem.sip
@@ -24,6 +24,7 @@ class KWindowSystem : QObject, NET
 {
 %TypeHeaderCode
 #include <kwindowsystem.h>
+#include <../../../../../../Library/Frameworks/QtGui.framework/Versions/4/Headers/qstyleoption.h>
 %End
 
 
@@ -44,8 +45,10 @@ public:
     static void             setOnAllDesktops (WId win, bool b);
     static void             setOnDesktop (WId win, int desktop);
     static void             setMainWindow (QWidget* subwindow, WId mainwindow);
+%If (WS_X11)
     static WId              transientFor (WId window);
     static WId              groupLeader (WId window);
+%End
     static QPixmap          icon (WId win, int width = -1, int height = -1, bool scale = 0);
 
     enum IconSource
@@ -77,11 +80,13 @@ public:
     static bool             allowedActionsSupported ();
     static QString          readNameProperty (WId window, unsigned long atom);
     static void             doNotManage (const QString& title);
+%If (WS_X11)
     static bool             mapViewport ();
     static int              viewportToDesktop (const QPoint& pos);
     static int              viewportWindowToDesktop (const QRect& r);
     static QPoint           desktopToViewport (int desktop, bool absolute);
     static QPoint           constrainViewportRelativePosition (const QPoint& pos);
+%End
 
 signals:
     void                    currentDesktopChanged (int desktop);
diff --git sip/kdeui/kxmessages.sip sip/kdeui/kxmessages.sip
index 1b3438c..f69170d 100644
--- sip/kdeui/kxmessages.sip
+++ sip/kdeui/kxmessages.sip
@@ -20,6 +20,7 @@
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
+%If (WS_X11)
 class KXMessages : QWidget
 {
 %TypeHeaderCode
@@ -48,5 +49,6 @@ public:
     ~KXMessages ();
 };
 // KXMessages
+%End
 
 
diff --git sip/kdeui/kxutils.sip sip/kdeui/kxutils.sip
index 9327afd..1f56920 100644
--- sip/kdeui/kxutils.sip
+++ sip/kdeui/kxutils.sip
@@ -18,6 +18,7 @@
 // You should have received a copy of the GNU General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+%If (WS_X11)
 %ModuleHeaderCode
 #include <kxutils.h>
 %End
@@ -28,5 +29,5 @@ int                     timestampCompare (unsigned long time1, unsigned long tim
 int                     timestampDiff (unsigned long time1, unsigned long time2);
 };
 // KXUtils
-
+%End
 
diff --git sip/kdeui/netwm.sip sip/kdeui/netwm.sip
index 2084144..26de24f 100644
--- sip/kdeui/netwm.sip
+++ sip/kdeui/netwm.sip
@@ -19,6 +19,7 @@
 // You should have received a copy of the GNU General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+%If (WS_X11)
 %ModuleHeaderCode
 #include <netwm.h>
 %End
@@ -286,3 +287,4 @@ public:
 typedef ulong Time;
 
 //end
+%End
--- sip/kdeui/orig.netwm_def.sip	2015-03-09 23:44:12.000000000 +0100
+++ sip/kdeui/netwm_def.sip	2015-03-09 23:39:11.000000000 +0100
@@ -111,6 +111,7 @@
 {
 %TypeHeaderCode
 #include <netwm_def.h>
+#include <../../../../../../Library/Frameworks/QtGui.framework/Versions/4/Headers/qstyleoption.h>
 %End
 
 
@@ -200,7 +201,9 @@
         AllTypesMask
     };
 
+%If (WS_X11)
     static bool             typeMatchesMask (NET::WindowType type, unsigned long mask);
+%End
 
     enum State
     {
@@ -353,7 +356,9 @@
         DesktopLayoutCornerBottomRight
     };
 
+%If (WS_X11)
     static int              timestampCompare (unsigned long time1, unsigned long time2);
     static int              timestampDiff (unsigned long time1, unsigned long time2);
+%End
 };
 // NET