return FALSE;
}
-void
+sclboolean
CSCLResourceCache::set_string_substitution(const sclchar *original, const sclchar *substitute)
{
if (original && substitute) {
+ if (mStringSubstitutor[std::string(original)].compare(substitute) == 0) {
+ return false;
+ }
mStringSubstitutor[std::string(original)] = std::string(substitute);
}
+ return true;
}
void
void enable_button(const sclchar* custom_id, sclboolean enabled);
sclboolean get_button_geometry(const sclchar* custom_id, SclRectangle *rectangle);
- void set_string_substitution(const sclchar *original, const sclchar *substitute);
+ sclboolean set_string_substitution(const sclchar *original, const sclchar *substitute);
void unset_string_substitution(const sclchar *original);
const sclchar* find_substituted_string(const sclchar *original);
return m_impl->get_button_geometry(custom_id, rectangle);
}
return FALSE;
-}
\ No newline at end of file
+}
void
CSCLUIImpl::set_string_substitution(const sclchar *original, const sclchar *substitute)
{
+ CSCLWindows *windows = CSCLWindows::get_instance();
+ CSCLResourceCache *cache = CSCLResourceCache::get_instance();
+ if (!cache || !windows) return;
+
if (m_initialized) {
- CSCLWindows *windows = CSCLWindows::get_instance();
- CSCLResourceCache *cache = CSCLResourceCache::get_instance();
- if (cache && windows) {
- cache->set_string_substitution(original, substitute);
+ if (cache->set_string_substitution(original, substitute)) {
SclWindowContext *window_context = windows->get_window_context(windows->get_base_window());
if (window_context) {
if (!(window_context->hidden)) {