From 76065080e65ea7903e2f89413e7c5c43e23238e0 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Sun, 20 Sep 2009 17:57:06 +0000 Subject: [PATCH] -Delete some old unused files -Some style fixes (mostly whitespace) -Switch to the short language list and make it build again. seems to have trouble with BStringByteSink and utf8, or is it just my build env having encoding problems ? git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33209 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/os/locale/Catalog.h | 42 +++--- src/kits/locale/Catalog.cpp | 83 ++++++----- src/kits/locale/Jamfile | 1 - src/kits/locale/LocaleRoster.cpp | 11 +- src/kits/locale/makefile | 179 ----------------------- src/kits/locale/strfmon.cpp | 181 ------------------------ src/preferences/locale/LocaleWindow.cpp | 3 +- 7 files changed, 72 insertions(+), 428 deletions(-) delete mode 100644 src/kits/locale/makefile delete mode 100644 src/kits/locale/strfmon.cpp diff --git a/headers/os/locale/Catalog.h b/headers/os/locale/Catalog.h index 9a57801194..20479f9af2 100644 --- a/headers/os/locale/Catalog.h +++ b/headers/os/locale/Catalog.h @@ -87,11 +87,11 @@ extern BCatalog* be_app_catalog; be_catalog->GetString((str), TR_CONTEXT) #undef TR_CMT -#define TR_CMT(str,cmt) \ +#define TR_CMT(str, cmt) \ be_catalog->GetString((str), TR_CONTEXT, (cmt)) #undef TR_ALL -#define TR_ALL(str,ctx,cmt) \ +#define TR_ALL(str, ctx, cmt) \ be_catalog->GetString((str), (ctx), (cmt)) #undef TR_ID @@ -127,11 +127,11 @@ extern BCatalog* be_app_catalog; BCatalogAddOn::MarkForTranslation((str), TR_CONTEXT, "") #undef TR_MARK_CMT -#define TR_MARK_CMT(str,cmt) \ +#define TR_MARK_CMT(str, cmt) \ BCatalogAddOn::MarkForTranslation((str), TR_CONTEXT, (cmt)) #undef TR_MARK_ALL -#define TR_MARK_ALL(str,ctx,cmt) \ +#define TR_MARK_ALL(str, ctx, cmt) \ BCatalogAddOn::MarkForTranslation((str), (ctx), (cmt)) #undef TR_MARK_ID @@ -148,20 +148,20 @@ class BCatalogAddOn { friend class BLocaleRoster; public: BCatalogAddOn(const char *signature, const char *language, - uint32 fingerprint); + uint32 fingerprint); virtual ~BCatalogAddOn(); virtual const char *GetString(const char *string, - const char *context=NULL, - const char *comment=NULL) = 0; + const char *context = NULL, + const char *comment = NULL) = 0; virtual const char *GetString(uint32 id) = 0; status_t InitCheck() const; BCatalogAddOn *Next(); - // the following could be used to localize non-textual data (e.g. icons), - // but these will only be implemented if there's demand for such a - // feature: + // the following could be used to localize non-textual data (e.g. + // icons), but these will only be implemented if there's demand for such + // a feature: virtual bool CanHaveData() const; virtual status_t GetData(const char *name, BMessage *msg); virtual status_t GetData(uint32 id, BMessage *msg); @@ -169,21 +169,21 @@ class BCatalogAddOn { // interface for catalog-editor-app and testing apps: virtual status_t SetString(const char *string, const char *translated, - const char *context=NULL, - const char *comment=NULL); + const char *context = NULL, + const char *comment = NULL); virtual status_t SetString(int32 id, const char *translated); - // + virtual bool CanWriteData() const; virtual status_t SetData(const char *name, BMessage *msg); virtual status_t SetData(uint32 id, BMessage *msg); - // + virtual status_t ReadFromFile(const char *path = NULL); virtual status_t ReadFromAttribute(entry_ref *appOrAddOnRef); virtual status_t ReadFromResource(entry_ref *appOrAddOnRef); virtual status_t WriteToFile(const char *path = NULL); virtual status_t WriteToAttribute(entry_ref *appOrAddOnRef); virtual status_t WriteToResource(entry_ref *appOrAddOnRef); - // + virtual void MakeEmpty(); virtual int32 CountItems() const; @@ -323,21 +323,21 @@ class EditableCatalog : public BCatalog { status_t SetString(const char *string, const char *translated, - const char *context=NULL, - const char *comment=NULL); + const char *context = NULL, + const char *comment = NULL); status_t SetString(int32 id, const char *translated); - // + bool CanWriteData() const; status_t SetData(const char *name, BMessage *msg); status_t SetData(uint32 id, BMessage *msg); - // + status_t ReadFromFile(const char *path = NULL); status_t ReadFromAttribute(entry_ref *appOrAddOnRef); status_t ReadFromResource(entry_ref *appOrAddOnRef); status_t WriteToFile(const char *path = NULL); status_t WriteToAttribute(entry_ref *appOrAddOnRef); status_t WriteToResource(entry_ref *appOrAddOnRef); - // + void MakeEmpty(); private: @@ -350,4 +350,4 @@ class EditableCatalog : public BCatalog { } // namespace BPrivate -#endif /* _CATALOG_H_ */ +#endif /* _CATALOG_H_ */ diff --git a/src/kits/locale/Catalog.cpp b/src/kits/locale/Catalog.cpp index 5bc6d29a9a..6873cd379c 100644 --- a/src/kits/locale/Catalog.cpp +++ b/src/kits/locale/Catalog.cpp @@ -30,7 +30,7 @@ BCatalog::BCatalog() } -BCatalog::BCatalog(const char *signature, const char *language, +BCatalog::BCatalog(const char *signature, const char *language, uint32 fingerprint) { fCatalog = be_locale_roster->LoadCatalog(signature, language, fingerprint); @@ -46,7 +46,8 @@ BCatalog::~BCatalog() const char * -BCatalog::GetString(const char *string, const char *context, const char *comment) +BCatalog::GetString(const char *string, const char *context, + const char *comment) { const char *translated; for (BCatalogAddOn* cat = fCatalog; cat != NULL; cat = cat->fNext) { @@ -71,7 +72,7 @@ BCatalog::GetString(uint32 id) } -status_t +status_t BCatalog::GetData(const char *name, BMessage *msg) { if (!fCatalog) @@ -80,14 +81,13 @@ BCatalog::GetData(const char *name, BMessage *msg) for (BCatalogAddOn* cat = fCatalog; cat != NULL; cat = cat->fNext) { res = cat->GetData(name, msg); if (res != B_NAME_NOT_FOUND && res != EOPNOTSUPP) - return res; - // return B_OK if found, or specific error-code + return res; // return B_OK if found, or specific error-code } return B_NAME_NOT_FOUND; } -status_t +status_t BCatalog::GetData(uint32 id, BMessage *msg) { if (!fCatalog) @@ -96,15 +96,14 @@ BCatalog::GetData(uint32 id, BMessage *msg) for (BCatalogAddOn* cat = fCatalog; cat != NULL; cat = cat->fNext) { res = cat->GetData(id, msg); if (res != B_NAME_NOT_FOUND && res != EOPNOTSUPP) - return res; - // return B_OK if found, or specific error-code + return res; // return B_OK if found, or specific error-code } return B_NAME_NOT_FOUND; } -status_t -BCatalog::GetAppCatalog(BCatalog* catalog) +status_t +BCatalog::GetAppCatalog(BCatalog* catalog) { app_info appInfo; if (!be_app || be_app->GetAppInfo(&appInfo) != B_OK) @@ -119,15 +118,15 @@ BCatalog::GetAppCatalog(BCatalog* catalog) // try to fetch fingerprint from app-file (attribute): uint32 fingerprint = 0; BNode appNode(&appInfo.ref); - appNode.ReadAttr(BLocaleRoster::kCatFingerprintAttr, B_UINT32_TYPE, 0, + appNode.ReadAttr(BLocaleRoster::kCatFingerprintAttr, B_UINT32_TYPE, 0, &fingerprint, sizeof(uint32)); // try to load catalog (with given fingerprint): catalog->fCatalog = be_locale_roster->LoadCatalog(sig.String(), NULL, fingerprint); - // load native embedded id-based catalog. If such a catalog exists, + // load native embedded id-based catalog. If such a catalog exists, // we can fall back to native strings for id-based access, too. - BCatalogAddOn *embeddedCatalog + BCatalogAddOn *embeddedCatalog = be_locale_roster->LoadEmbeddedCatalog(&appInfo.ref); if (embeddedCatalog) { if (!catalog->fCatalog) @@ -178,35 +177,35 @@ BCatalogAddOn::UpdateFingerprint() } -status_t +status_t BCatalogAddOn::InitCheck() const -{ +{ return fInitCheck; } -bool +bool BCatalogAddOn::CanHaveData() const { return false; } -status_t +status_t BCatalogAddOn::GetData(const char *name, BMessage *msg) { return EOPNOTSUPP; } -status_t +status_t BCatalogAddOn::GetData(uint32 id, BMessage *msg) { return EOPNOTSUPP; } -status_t +status_t BCatalogAddOn::SetString(const char *string, const char *translated, const char *context, const char *comment) { @@ -214,70 +213,70 @@ BCatalogAddOn::SetString(const char *string, const char *translated, } -status_t +status_t BCatalogAddOn::SetString(int32 id, const char *translated) { return EOPNOTSUPP; } -bool +bool BCatalogAddOn::CanWriteData() const { return false; } -status_t +status_t BCatalogAddOn::SetData(const char *name, BMessage *msg) { return EOPNOTSUPP; } -status_t +status_t BCatalogAddOn::SetData(uint32 id, BMessage *msg) { return EOPNOTSUPP; } -status_t +status_t BCatalogAddOn::ReadFromFile(const char *path) { return EOPNOTSUPP; } -status_t +status_t BCatalogAddOn::ReadFromAttribute(entry_ref *appOrAddOnRef) { return EOPNOTSUPP; } -status_t +status_t BCatalogAddOn::ReadFromResource(entry_ref *appOrAddOnRef) { return EOPNOTSUPP; } -status_t +status_t BCatalogAddOn::WriteToFile(const char *path) { return EOPNOTSUPP; } -status_t +status_t BCatalogAddOn::WriteToAttribute(entry_ref *appOrAddOnRef) { return EOPNOTSUPP; } -status_t +status_t BCatalogAddOn::WriteToResource(entry_ref *appOrAddOnRef) { return EOPNOTSUPP; @@ -289,7 +288,7 @@ void BCatalogAddOn::MakeEmpty() } -int32 +int32 BCatalogAddOn::CountItems() const { return 0; @@ -298,7 +297,7 @@ BCatalogAddOn::CountItems() const //#pragma mark - EditableCatalog namespace BPrivate { -EditableCatalog::EditableCatalog(const char *type, const char *signature, +EditableCatalog::EditableCatalog(const char *type, const char *signature, const char *language) { fCatalog = be_locale_roster->CreateCatalog(type, signature, language); @@ -310,7 +309,7 @@ EditableCatalog::~EditableCatalog() } -status_t +status_t EditableCatalog::SetString(const char *string, const char *translated, const char *context, const char *comment) { @@ -320,7 +319,7 @@ EditableCatalog::SetString(const char *string, const char *translated, } -status_t +status_t EditableCatalog::SetString(int32 id, const char *translated) { if (!fCatalog) @@ -329,7 +328,7 @@ EditableCatalog::SetString(int32 id, const char *translated) } -bool +bool EditableCatalog::CanWriteData() const { if (!fCatalog) @@ -338,7 +337,7 @@ EditableCatalog::CanWriteData() const } -status_t +status_t EditableCatalog::SetData(const char *name, BMessage *msg) { if (!fCatalog) @@ -347,7 +346,7 @@ EditableCatalog::SetData(const char *name, BMessage *msg) } -status_t +status_t EditableCatalog::SetData(uint32 id, BMessage *msg) { if (!fCatalog) @@ -356,7 +355,7 @@ EditableCatalog::SetData(uint32 id, BMessage *msg) } -status_t +status_t EditableCatalog::ReadFromFile(const char *path) { if (!fCatalog) @@ -365,7 +364,7 @@ EditableCatalog::ReadFromFile(const char *path) } -status_t +status_t EditableCatalog::ReadFromAttribute(entry_ref *appOrAddOnRef) { if (!fCatalog) @@ -374,7 +373,7 @@ EditableCatalog::ReadFromAttribute(entry_ref *appOrAddOnRef) } -status_t +status_t EditableCatalog::ReadFromResource(entry_ref *appOrAddOnRef) { if (!fCatalog) @@ -383,7 +382,7 @@ EditableCatalog::ReadFromResource(entry_ref *appOrAddOnRef) } -status_t +status_t EditableCatalog::WriteToFile(const char *path) { if (!fCatalog) @@ -392,7 +391,7 @@ EditableCatalog::WriteToFile(const char *path) } -status_t +status_t EditableCatalog::WriteToAttribute(entry_ref *appOrAddOnRef) { if (!fCatalog) @@ -401,7 +400,7 @@ EditableCatalog::WriteToAttribute(entry_ref *appOrAddOnRef) } -status_t +status_t EditableCatalog::WriteToResource(entry_ref *appOrAddOnRef) { if (!fCatalog) diff --git a/src/kits/locale/Jamfile b/src/kits/locale/Jamfile index 1894d4dc28..4c32a417ce 100644 --- a/src/kits/locale/Jamfile +++ b/src/kits/locale/Jamfile @@ -32,7 +32,6 @@ SharedLibrary liblocale.so NumberFormatImpl.cpp NumberFormatParameters.cpp PropertyFile.cpp - strfmon.cpp UnicodeChar.cpp : be $(TARGET_LIBSTDC++) libicu-common.so libicu-i18n.so ; diff --git a/src/kits/locale/LocaleRoster.cpp b/src/kits/locale/LocaleRoster.cpp index a2500f4e84..43a1f14736 100644 --- a/src/kits/locale/LocaleRoster.cpp +++ b/src/kits/locale/LocaleRoster.cpp @@ -498,7 +498,7 @@ BLocaleRoster::GetInstalledLanguages(BMessage *languages) const BString languageName; std::set languageSet; -#define REALLY_ALL_LANGUAGES +#undef REALLY_ALL_LANGUAGES #ifdef REALLY_ALL_LANGUAGES static const char* const* icuLocaleList = Locale::getISOLanguages(); @@ -513,7 +513,12 @@ BLocaleRoster::GetInstalledLanguages(BMessage *languages) const // Loop over the strings and add them to an std::set to remove duplicates for (i = 0; i < localeCount; i++) { - languageSet.insert(BString(icuLocaleList[i])); + UnicodeString ICULanguageName; + BString LanguageName; + BStringByteSink StringConverter(&LanguageName); + icuLocaleList[i].getDisplayLanguage(ICULanguageName); + ICULanguageName.toUTF8(StringConverter); + languageSet.insert(LanguageName); } #endif @@ -523,7 +528,7 @@ BLocaleRoster::GetInstalledLanguages(BMessage *languages) const languages->AddString("langs", *setIterator); } - return B_OK; + return B_OK; } diff --git a/src/kits/locale/makefile b/src/kits/locale/makefile deleted file mode 100644 index 676b0cc975..0000000000 --- a/src/kits/locale/makefile +++ /dev/null @@ -1,179 +0,0 @@ -## BeOS Generic Makefile v2.2 ## - -## Fill in this file to specify the project being created, and the referenced -## makefile-engine will do all of the hard work for you. This handles both -## Intel and PowerPC builds of the BeOS. - -## Application Specific Settings --------------------------------------------- - -# specify the name of the binary -NAME= liblocale.so - -# specify the type of binary -# APP: Application -# SHARED: Shared library or add-on -# STATIC: Static library archive -# DRIVER: Kernel Driver -TYPE= SHARED - -# add support for new Pe and Eddie features -# to fill in generic makefile - -#%{ -# @src->@ - -# specify the source files to use -# full paths or paths relative to the makefile can be included -# all files, regardless of directory, will have their object -# files created in the common object directory. -# Note that this means this makefile will not work correctly -# if two source files with the same name (source.c or source.cpp) -# are included from different directories. Also note that spaces -# in folder names do not work well with this makefile. -SRCS= \ - adler32.c \ - cat.cpp \ - Catalog.cpp \ - Collator.cpp \ - Country.cpp \ - Currency.cpp \ - DefaultCatalog.cpp \ - FloatFormat.cpp \ - FloatFormatImpl.cpp \ - FloatFormatParameters.cpp \ - Format.cpp \ - FormatImpl.cpp \ - FormatParameters.cpp \ - GenericNumberFormat.cpp \ - IntegerFormat.cpp \ - IntegerFormatImpl.cpp \ - IntegerFormatParameters.cpp \ - langinfo.cpp \ - Language.cpp \ - LibraryInit.cpp \ - Locale.cpp \ - LocaleRoster.cpp \ - NumberFormat.cpp \ - NumberFormatImpl.cpp \ - NumberFormatParameters.cpp \ - PropertyFile.cpp \ - strfmon.cpp \ - UnicodeChar.cpp - -# specify the resource files to use -# full path or a relative path to the resource file can be used. -RSRCS= - -# @<-src@ -#%} - -# end support for Pe and Eddie - -# specify additional libraries to link against -# there are two acceptable forms of library specifications -# - if your library follows the naming pattern of: -# libXXX.so or libXXX.a you can simply specify XXX -# library: libbe.so entry: be -# -# - if your library does not follow the standard library -# naming scheme you need to specify the path to the library -# and it's name -# library: my_lib.a entry: my_lib.a or path/my_lib.a -LIBS= be - -# specify additional paths to directories following the standard -# libXXX.so or libXXX.a naming scheme. You can specify full paths -# or paths relative to the makefile. The paths included may not -# be recursive, so include all of the paths where libraries can -# be found. Directories where source files are found are -# automatically included. -LIBPATHS= - -# additional paths to look for system headers -# thes use the form: #include
-# source file directories are NOT auto-included here -SYSTEM_INCLUDE_PATHS = ../include ../include/posix - -# additional paths to look for local headers -# thes use the form: #include "header" -# source file directories are automatically included -LOCAL_INCLUDE_PATHS = - -# specify the level of optimization that you desire -# NONE, SOME, FULL -OPTIMIZE= SOME - -# specify any preprocessor symbols to be defined. The symbols will not -# have their values set automatically; you must supply the value (if any) -# to use. For example, setting DEFINES to "DEBUG=1" will cause the -# compiler option "-DDEBUG=1" to be used. Setting DEFINES to "DEBUG" -# would pass "-DDEBUG" on the compiler's command line. -DEFINES= - -# specify special warning levels -# if unspecified default warnings will be used -# NONE = supress all warnings -# ALL = enable all warnings -WARNINGS = ALL - -# specify whether image symbols will be created -# so that stack crawls in the debugger are meaningful -# if TRUE symbols will be created -SYMBOLS = TRUE - -# specify debug settings -# if TRUE will allow application to be run from a source-level -# debugger. Note that this will disable all optimzation. -ifeq ($(DEBUG_BUILD), true) - DEBUGGER = TRUE -else - DEBUGGER = FALSE -endif - -# specify additional compiler flags for all files -COMPILER_FLAGS = - -# specify additional linker flags -LINKER_FLAGS = - -# specify the version of this particular item -# (for example, -app 3 4 0 d 0 -short 340 -long "340 "`echo -n -e '\302\251'`"1999 GNU GPL") -# This may also be specified in a resource. -APP_VERSION = - -# (for TYPE == DRIVER only) Specify desired location of driver in the /dev -# hierarchy. Used by the driverinstall rule. E.g., DRIVER_PATH = video/usb will -# instruct the driverinstall rule to place a symlink to your driver's binary in -# ~/add-ons/kernel/drivers/dev/video/usb, so that your driver will appear at -# /dev/video/usb when loaded. Default is "misc". -DRIVER_PATH = - -#MACHINE=$(shell uname -m) -#ifneq ($(MACHINE),BePC) -# COMPILER_FLAGS += -w iserr -#else -# COMPILER_FLAGS += -Werror -#endif - -# Custom overrides that can be set from the command line. -ifeq ($(DEBUG_BUILD), true) - SYMBOLS := TRUE - DEBUGGER := TRUE - OPTIMIZE := NONE - COMPILER_FLAGS += -DDEBUG=1 -endif - -ifeq ($(CHECK_MEM), true) - SYMBOLS := TRUE - DEBUGGER := TRUE - OPTIMIZE := NONE - COMPILER_FLAGS += -fcheck-memory-usage -DDEBUG=1 -D_NO_INLINE_ASM=1 -#-D_KERNEL_MODE=1 -endif - -INSTALL_DIR=/boot/home/config/lib -TARGET_DIR=. - -## include the makefile-engine -include $(BUILDHOME)/etc/makefile-engine - diff --git a/src/kits/locale/strfmon.cpp b/src/kits/locale/strfmon.cpp deleted file mode 100644 index 8261d06c5f..0000000000 --- a/src/kits/locale/strfmon.cpp +++ /dev/null @@ -1,181 +0,0 @@ -/* -** Copyright 2003, Axel Dörfler, axeld@pinc-software.de. All rights reserved. -** Distributed under the terms of the MIT License. -*/ - - -#include - -#include - -#include -#include -#include -#include -#include - - -// ToDo: implementation is not yet working! - - -enum strfmon_flags { - USE_GROUPING = 1, - USE_SIGN = 2, - USE_LOCALE_POSNEG = 4, - NEG_IN_PARENTHESES = 8, - NO_CURRENCY = 16, - LEFT_JUSTIFIED = 32, - USE_INT_CURRENCY = 64 -}; - - -static int32 -parseNumber(const char **_format) -{ - const char *format = *_format; - int32 number = 0; - while (isdigit(*format)) - number = number * 10 + *format++ - '0'; - - *_format = format; - return number; -} - - -ssize_t -vstrfmon(char *string, size_t maxSize, const char *format, va_list args) -{ - if (format == NULL || string == NULL) - return B_BAD_VALUE; - - struct lconv *lconv = localeconv(); - int32 length = 0; - - while (*format) { - if (format[0] != '%' || *++format == '%') { - if (++length >= (int32)maxSize) - return E2BIG; - - *string++ = *format++; - continue; - } - if (format[0] == '\0') - return B_BAD_VALUE; - - char flags = USE_GROUPING | USE_LOCALE_POSNEG; - char fill = ' '; - int32 width = 0, leftPrecision = 0, rightPrecision = -1; - bool isNegative = false; - - // flags - int32 mode = 0; - while (*format && mode == 0) { - switch (*format++) { - case '=': - fill = *format++; - if (fill == '\0') - return B_BAD_VALUE; - break; - case '+': - if (flags & USE_SIGN) - return B_BAD_VALUE; - flags |= USE_SIGN; - break; - case '(': - if (flags & USE_SIGN) - return B_BAD_VALUE; - flags |= USE_SIGN | NEG_IN_PARENTHESES; - break; - case '^': - flags &= ~USE_GROUPING; - break; - case '!': - flags |= NO_CURRENCY; - break; - case '-': - flags |= LEFT_JUSTIFIED; - break; - default: - mode = 1; - } - } - - // width - if (isdigit(*format)) - width = parseNumber(&format); - - // left precision - if (*format == '#') { - format++; - if (!isdigit(*format)) - return B_BAD_VALUE; - - leftPrecision = parseNumber(&format); - } - - // right precision - if (*format == '.') { - format++; - if (!isdigit(*format)) - return B_BAD_VALUE; - - rightPrecision = parseNumber(&format); - } - - // which currency symbol to use? - switch (*format++) { - case 'n': - // national currency symbol is the default - break; - case 'i': - flags |= USE_INT_CURRENCY; - break; - default: - return B_BAD_VALUE; - } - - // adjust the default right precision value according the currency symbol - if (rightPrecision == -1) { - rightPrecision = flags & USE_INT_CURRENCY ? lconv->int_frac_digits : lconv->frac_digits; - if (rightPrecision == CHAR_MAX) - rightPrecision = 2; - } - - double value = va_arg(args,double); - if (value < 0) { - isNegative = true; - value = -value; - } - - if (leftPrecision + rightPrecision > 255) - return B_BAD_VALUE; - - char number[256]; - sprintf(number, "%*.*f", (int)leftPrecision, (int)rightPrecision, - value); - - if (leftPrecision >= 0) { - - } - } - return B_OK; -} - - -ssize_t -strfmon(char *string, size_t maxSize, const char *format, ...) -{ - va_list args; - va_start(args, format); - - ssize_t status = vstrfmon(string, maxSize, format, args); - - va_end(args); - - if (status < B_OK) { - errno = status; - return -1; - } - return status; -} - diff --git a/src/preferences/locale/LocaleWindow.cpp b/src/preferences/locale/LocaleWindow.cpp index f2bfa79f2a..13eeaafee7 100644 --- a/src/preferences/locale/LocaleWindow.cpp +++ b/src/preferences/locale/LocaleWindow.cpp @@ -331,7 +331,8 @@ const static uint32 kMsgRevert = 'revt'; LocaleWindow::LocaleWindow(BRect rect) : BWindow(rect, "Locale", B_TITLED_WINDOW, - B_NOT_RESIZABLE | B_NOT_ZOOMABLE | B_ASYNCHRONOUS_CONTROLS) + B_NOT_RESIZABLE | B_NOT_ZOOMABLE | B_ASYNCHRONOUS_CONTROLS + | B_AUTO_UPDATE_SIZE_LIMITS) { SetLayout(new BGroupLayout(B_HORIZONTAL));