Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2011-07-14
[WebKit-https.git] / Source / WebKit / efl / ewk / ewk_settings.cpp
index 23504f2c968dd1287ac1d9b985800ca80fc7ebc9..845d1469df416679da6351383a4ad6470245cbe9 100644 (file)
@@ -140,6 +140,9 @@ const char *ewk_settings_web_database_path_get(void)
 /**
  * Sets directory where to store icon database, opening or closing database.
  *
 /**
  * Sets directory where to store icon database, opening or closing database.
  *
+ * Icon database must be opened only once. If you try to set a path when the icon
+ * database is already open, this function returns @c EINA_FALSE.
+ *
  * @param directory where to store icon database, must be
  *        write-able, if @c 0 is given, then database is closed
  *
  * @param directory where to store icon database, must be
  *        write-able, if @c 0 is given, then database is closed
  *
@@ -150,6 +153,11 @@ Eina_Bool ewk_settings_icon_database_path_set(const char *directory)
     WebCore::IconDatabase::delayDatabaseCleanup();
 
     if (directory) {
     WebCore::IconDatabase::delayDatabaseCleanup();
 
     if (directory) {
+        if (WebCore::iconDatabase().isEnabled()) {
+            ERR("IconDatabase is already open: %s", _ewk_icon_database_path);
+            return EINA_FALSE;
+        }
+
         struct stat st;
 
         if (stat(directory, &st)) {
         struct stat st;
 
         if (stat(directory, &st)) {