[Uml-devel] branches/work/soc-umbrello/umbrello

Gopala Krishna A krishna.ggk at gmail.com
Fri Jun 6 05:51:13 UTC 2008


SVN commit 817469 by gopala:

Use K_GLOBAL_STATIC instead of my own singleton class for OptionState.
CCMAIL:umbrello-devel at kde.org



 M  +10 -24    optionstate.cpp  


--- branches/work/soc-umbrello/umbrello/optionstate.cpp #817468:817469
@@ -10,40 +10,26 @@
  ***************************************************************************/
 
 #include "optionstate.h"
+#include <kglobal.h>
 
 namespace Settings{
 
-    struct OptionStateHoster
-    {
-        static OptionState *pd_optionState;
+    /*
+     * Impt: This ensures creation of OptionState object after
+     * QApplication there by avoiding nasty font rendering issues
+     * which occurs due to creation of QFont objects before
+     * QApplication object is created.
+    */
+    K_GLOBAL_STATIC(OptionState, opState);
 
-        OptionState& getOptionState() {
-            if(!pd_optionState) {
-                pd_optionState = new OptionState;
-            }
-            return *pd_optionState;
-        }
-
-        void setOptionState(const OptionState& optstate) {
-            if(!pd_optionState) {
-                pd_optionState = new OptionState;
-            }
-            *pd_optionState = optstate;
-        }
-    };
-
-    OptionStateHoster hoster;
-
-    Settings::OptionState* Settings::OptionStateHoster::pd_optionState = NULL;
-
     OptionState& getOptionState()
     {
-        return hoster.getOptionState();
+        return *opState;
     }
 
     void setOptionState(const OptionState& optstate)
     {
-        hoster.setOptionState(optstate);
+        *opState = optstate;
     }
 
 }  // namespace Settings




More information about the umbrello-devel mailing list