* BShape:: AddShape(): drop manual multiplication in typed pointer
arithmetic - addding the number of elements to a typed pointer
will already move that pointer in steps of sizeof(type).
The effect of this bug would be overwritten memory somewhere behind the data array.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39951 a95241bf-73f2-0310-859d-f6bbb57e9c96
* close the dlopen()-ed image if the locale backend could not be created
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39950 a95241bf-73f2-0310-859d-f6bbb57e9c96
use strlcpy() instead of strcpy() for improved clarity, although
the buffer is always wide enough [famous last words ...]
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39948 a95241bf-73f2-0310-859d-f6bbb57e9c96
* drop fShowFocus, as it is only used in a single method
* initialize fHoldValue
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39947 a95241bf-73f2-0310-859d-f6bbb57e9c96
and there are no catalog-specializations for encoding or currency
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39943 a95241bf-73f2-0310-859d-f6bbb57e9c96
* only return the catalog if it isn't NULL, thus allowing the loop
to potentially increase the loop var - in turn making code reachable
that wasn't before
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39942 a95241bf-73f2-0310-859d-f6bbb57e9c96
* avoid possible use of deleted catalog (didn't occur because we
currently only have a single type of catalog add-on)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39923 a95241bf-73f2-0310-859d-f6bbb57e9c96
* check result of BMessage::FindString() (plus more ...)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39922 a95241bf-73f2-0310-859d-f6bbb57e9c96
* assign arrays members explicitly instead in initialization list
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39921 a95241bf-73f2-0310-859d-f6bbb57e9c96
* the unarchival constructor didn't initialize some members
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39920 a95241bf-73f2-0310-859d-f6bbb57e9c96
* check result of BMessage::FindString() (plus more ...)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39919 a95241bf-73f2-0310-859d-f6bbb57e9c96
* drop function declarations from wctype.h which are already in wchar.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39917 a95241bf-73f2-0310-859d-f6bbb57e9c96
* adjust TruncTimeBase() in libtracker's WidgetAttributeText to use
the BString-based versions of BLocale's date formatting methods
* restored the 6 different formats Tracker used to try and fit into
a date column (i. e. it now behaves pretty much as it did before the
introduction of the Locale Kit)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39649 a95241bf-73f2-0310-859d-f6bbb57e9c96
make some more perl tests happy.
* no longer expect a ICU timezone ID in the TZ environment variable,
but only expect this format if the TZ-value is starting with ':'
* accept "standard" TZ-values like "EST5" (of which only "EST" is
relevant to us) - if such a value is specified, we hardcode the
timezone name to the given value, no matter how ICU calls it
* adjust tests accordingly
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39415 a95241bf-73f2-0310-859d-f6bbb57e9c96
is required by the POSIX specs (and some perl tests rely on it)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39413 a95241bf-73f2-0310-859d-f6bbb57e9c96
* remove declaration of ctype-..._l() functions, as we do not provide
them and they are not really needed by our hacked glibc
* replace remaining invocations of isspace_l() and isupper_l() in glibc
with isspace() and isupper() respectively
This allows libroot to be built in DEBUG mode, again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39380 a95241bf-73f2-0310-859d-f6bbb57e9c96
* extracted new class BFormattingConventions from BCountry, which
manages the formatting conventions from a given locale and
allows to get/set the four different date/time formats supported
by ICU-locales as well as number and monetary formats
* overhauled the Locale preflet:
+ drop editing features for all formats, since I don't think
they do not make much sense to have in a prefs GUI - being
able to select from the existing locales should be good
enough. Please note that you can still change the formats
programmatically in an application.
+ renamed the 'Countries' tab to 'Formatting'
+ the locale formatting conventions list in the 'Formatting'
tab is now hierarchical for easier access (less scrolling)
+ fixed functionality of 'Revert' and 'Defaults' buttons
+ added support for using the month/day-names of your preferred
language during date formatting
* adjusted BLocale to ask BFormattingConventions for the current
formats when formatting dates and times and to offer 4
different format styles (full, long, medium and short).
* adjust all classes formatting dates/times to pick the
appropriate format style
* BLocaleRoster no longer directly archives/unarchives the
individual formatting conventions but delegates that to
BFormattingConventions
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39123 a95241bf-73f2-0310-859d-f6bbb57e9c96
* BLocale now keeps language and country completely separate and
mixes the formatting conventions into the current language's locale
when formatting dates and times (needs to be done for number- and
currency-formatting, too, since the digits may not be in the
preferred language)
* optimized fetching of the flag icons such that they are all loaded
in one go (by the locale roster) - this alone speeds up the Locale
preflet considerably
* worked on fixing the language confusion in the Locale preflet
* fixed a couple of bugs in the Locale preflet that would lead to
illegal characters being displayed in the date-subpart menus
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39013 a95241bf-73f2-0310-859d-f6bbb57e9c96
Bruno Haible's libunistring, which seems to work just fine
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38936 a95241bf-73f2-0310-859d-f6bbb57e9c96
* protect against invocations of ctype-macros/-functions with negative
character indices by mirroring the corresponding values at negative
array indices (the legal access range of __ctype_b is now [-128..255])
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38708 a95241bf-73f2-0310-859d-f6bbb57e9c96
* avoid trying to overwrite values of a constant structure when
updating the numeric locale data values used by glibc
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38623 a95241bf-73f2-0310-859d-f6bbb57e9c96
the POSIX specs are a bit vague on this (to say the least)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38606 a95241bf-73f2-0310-859d-f6bbb57e9c96
in BLocale (which is accessible via be_locale)
* adjusted all users accordingly
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38459 a95241bf-73f2-0310-859d-f6bbb57e9c96
* renamed Locale.{h,cpp} to LocalePreflet.{h,cpp} as having two headers named
Locale.h confuses jam (as a result, the Locale preflet did not depend on
headers/os/locale/Locale.h)
* style adjustments (mostly order of headers)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38455 a95241bf-73f2-0310-859d-f6bbb57e9c96
* applied patch by VinDuv that adds a Perl-based implementation of readlink,
which is needed on Mac OX X, as that doesn't have any of the other fallbacks
- thanks!
IIRC, other people have managed to configure without this on Mac OS X, but
I suppose no harm can be done by providing this as last resort.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38454 a95241bf-73f2-0310-859d-f6bbb57e9c96
private accessor classes
* adjust style in BTimeZone::Private implementation to match other classes
of this kind
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38449 a95241bf-73f2-0310-859d-f6bbb57e9c96
values
* added locking to BLocale (needed since the data of the global object may
change any time)
* BLocale no longer passes out pointers to internal objects, it fill objects
passed in by the client instead (just like be_locale_roster does)
* dropped default language as member from RosterData, it is no part of the
default locale
* fleshed out implementation of TimeUnitFormat and DurationFormat, both
of which can now be given a BLocale in order to set the strings being used
during formatting
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38428 a95241bf-73f2-0310-859d-f6bbb57e9c96
around BLocaleRoster::GetAvailableTimeZonesForCountry()
* minor cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38412 a95241bf-73f2-0310-859d-f6bbb57e9c96
trying to build the compiler when it's not going to work
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38384 a95241bf-73f2-0310-859d-f6bbb57e9c96
* fixed another instance of BToolTip deletion, when we should be releasing
a reference instead (the first one was fixed by Rene - thanks BTW!)
* brought BCountry back into the game, such that the localized name of the
country is now being used, where possible (avoiding the " Time" suffixes
in English)
* country-items containing only one timezone are now being filtered (the
timezone moves up one level, replacing the country item, but adopting
the country's name)
* added the date to the timezone-item's tooltip, in order to make it obvious
which timezone is "before" and which is "behind" the date-borderline
I'm pretty happy with how it works now - what's yet missing is conversion of
the preflet to the layout kit and localization of the GUI.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38382 a95241bf-73f2-0310-859d-f6bbb57e9c96
since we'd like to be able to get the timezones of the global (i.e. empty)
country, too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38380 a95241bf-73f2-0310-859d-f6bbb57e9c96
* update the times shown on timezone page when the user switches RTC between
GMT/Local Time
* rename "Etc"-region to "<Other>" and sort it at the end of the list
* add current time of the corresponding zone to tooltip of a timezone-listitem
* show timezone names in the default language - not the default locale, as
the latter is just responsible for date/time and numeric formats
This works, but the localized names are sometimes a bit strange (for instance
in English, whose timezone names have a superfluous ' Time' prefix).
I am going to experiment with mixing country information back into the game, next.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38357 a95241bf-73f2-0310-859d-f6bbb57e9c96
(not currently used anywhere, but should be part of the BTimeZone interface)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38333 a95241bf-73f2-0310-859d-f6bbb57e9c96
* the chosen preferred languages weren't restored in Locale preflet
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38325 a95241bf-73f2-0310-859d-f6bbb57e9c96
* use upon-demand initialization in BTimeZone to avoid unnecessary work
* renamed BTimeZone::Code() to BTimeZone::ID() and adjusted all callers
* avoid using BCountry in the Time preflet for the time being, this means
the icon-flags are gone for now (but they could be re-added if the demand
is pressing ;-)
* group the timezones by regions and then by country instead
The performance improvement is considerable and I personally think the new grouping is an improvement, too. Please share your thoughts!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38322 a95241bf-73f2-0310-859d-f6bbb57e9c96
problem (since + binds stronger than >>)
Stephan: please review, esp since I don't know how to test this!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38279 a95241bf-73f2-0310-859d-f6bbb57e9c96
Stephan: please yell if you dislike the formatting of the large expressions now
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38278 a95241bf-73f2-0310-859d-f6bbb57e9c96
* no need to overload ScrollTo() with a non-related method - renamed local
ScrollTo() to ScrollToBlock()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38268 a95241bf-73f2-0310-859d-f6bbb57e9c96
* make BDADDR_* macros refer to value types instead of addresses
* adjust all interfaces using bdaddr_t* to use (mostly const) refs instead,
which IMHO makes the interface & code clearer
* that got rid of a couple of const incorrectness casts
* some cleanup along the way
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38265 a95241bf-73f2-0310-859d-f6bbb57e9c96
Coverity was complaining because we did a half-ass check against NULL only to
pass that NULL pointer on to a function that deref'd it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38248 a95241bf-73f2-0310-859d-f6bbb57e9c96
* BBitmap could leak fWindow in operator=()
* two copy constructors didn't initialize the members properly, which
could cause crashes in _CleanUp()
* minor cleanup
Actually found this while staring at CID 254-257, which were false alarm, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38246 a95241bf-73f2-0310-859d-f6bbb57e9c96
* when I changed InsertText() to adjust the caret position recently, I
forgot to drop that adjustment from all callers - _HandleInputMethodChanged()
was still doing it, leading to out of bounds access
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38243 a95241bf-73f2-0310-859d-f6bbb57e9c96
constants, which had to be defined in several places in order to be available
in the kernel addons, network protocols and the server/kit.
* enable -Werror for all servers
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38213 a95241bf-73f2-0310-859d-f6bbb57e9c96
to SetBaseFont() (and fFont to fBaseFont)
* enabled -Werror for all preflets
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38203 a95241bf-73f2-0310-859d-f6bbb57e9c96
settings, not give up when one is missing (like on a fresh image)
* try harder to fallback to proper default values when loading the locale
settings file fails
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38165 a95241bf-73f2-0310-859d-f6bbb57e9c96
* _kern_[sg]et_timezone() now accepts/passes out the timezone name, too
* adjust Time preflet and clockconfig to pass the timezone name into the kernel
when calling _kern_set_timezone()
* ajust implementation of tzset() to fetch the timezone name from the kernel
via _kern_get_timezone() instead of reading 'libroot_timezone_info'
* the Time preflet no longer writes 'libroot_timezone_info'
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38164 a95241bf-73f2-0310-859d-f6bbb57e9c96
libroot_timezone_info (will change again, soon)
* when formatting the preview/current time, the difference between old and
new timezone offset has to be taken into account if the RTC is set to
local time
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38163 a95241bf-73f2-0310-859d-f6bbb57e9c96
* no longer keep a separate time-backend, since the implementation needs to
access (data of) the locale backend anyway
* moved more stuff from localtime_fading_out.c to localtime.cpp
* added respective tests to locale_test
* added two more tests copied from glibc, test_time.c and tst-mktime.c
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38162 a95241bf-73f2-0310-859d-f6bbb57e9c96
* instead of fetching the field data every time something needs to be drawn,
we now fetch all the data whenever the date or time changes - simpler and
faster, too
* adjusted date layout to match time layout, i.e. left-adjusted
* lots of cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38160 a95241bf-73f2-0310-859d-f6bbb57e9c96
implementation in BLocale assumes this matches the system's timezone
This little bugger should fix#6277, #6370 and #6396.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38158 a95241bf-73f2-0310-859d-f6bbb57e9c96