diff --git a/haxe/ui/_module/locale/fr/form-strings.properties b/haxe/ui/_module/locale/fr/form-strings.properties new file mode 100644 index 000000000..012485095 --- /dev/null +++ b/haxe/ui/_module/locale/fr/form-strings.properties @@ -0,0 +1 @@ +form.field.required=Le champs est requis \ No newline at end of file diff --git a/haxe/ui/_module/locale/fr/messagebox-strings.properties b/haxe/ui/_module/locale/fr/messagebox-strings.properties new file mode 100644 index 000000000..30755507c --- /dev/null +++ b/haxe/ui/_module/locale/fr/messagebox-strings.properties @@ -0,0 +1,4 @@ +messagebox.title.info=Info +messagebox.title.question=Question +messagebox.title.warning=Avertissement +messagebox.title.error=Erreur \ No newline at end of file diff --git a/haxe/ui/components/NumberStepper.hx b/haxe/ui/components/NumberStepper.hx index 6b86886be..44d7120ee 100644 --- a/haxe/ui/components/NumberStepper.hx +++ b/haxe/ui/components/NumberStepper.hx @@ -256,7 +256,7 @@ private class Events extends haxe.ui.events.Events { _stepper.unregisterEvent(FocusEvent.FOCUS_IN, onFocusIn); _stepper.unregisterEvent(FocusEvent.FOCUS_OUT, onFocusOut); _stepper.unregisterEvent(MouseEvent.MOUSE_WHEEL, onMouseWheel); - LocaleManager.instance.unregisterEvent(LocaleEvent.LOCALE_CHANGED, onLocaleChanged); + removeLocaleChanged(); var value:TextField = _stepper.findComponent("value", TextField); value.unregisterEvent(UIEvent.CHANGE, onValueFieldChange); @@ -268,7 +268,17 @@ private class Events extends haxe.ui.events.Events { inc.unregisterEvent(MouseEvent.CLICK, onInc); unregisterEvent(ActionEvent.ACTION_START, onActionStart); } - + + public override function onDispose() { + // `unregister()` isn't called when the component is disposed, + // so this listener would be left lingering + removeLocaleChanged(); + } + + private function removeLocaleChanged() { + LocaleManager.instance.unregisterEvent(LocaleEvent.LOCALE_CHANGED, onLocaleChanged); + } + private var _autoCorrectTimer:Timer = null; private function onValueFieldChange(event:UIEvent) { if (_stepper.autoCorrect == true) { diff --git a/haxe/ui/module.xml b/haxe/ui/module.xml index 29959d0f3..b95ea31ca 100644 --- a/haxe/ui/module.xml +++ b/haxe/ui/module.xml @@ -19,6 +19,8 @@ + + @@ -37,12 +39,21 @@ + + + + + + + + + diff --git a/haxe/ui/util/RTTI.hx b/haxe/ui/util/RTTI.hx index 458b9e059..ad6c1d711 100644 --- a/haxe/ui/util/RTTI.hx +++ b/haxe/ui/util/RTTI.hx @@ -137,6 +137,10 @@ class RTTI { return _allPropertiesCache.get(cacheKey); } + if (classInfo == null) { + return null; + } + var entry = classInfo.get(className); var properties = null; if (entry != null) {