Commit Graph

46563 Commits

Author SHA1 Message Date
Ingo Weinhold 207389a060 BResources::SetTo(): try opening read-only on error
Fixes #9843.
2013-06-30 14:06:29 +02:00
Ingo Weinhold 4c851c295d Clock: fix crash when resources could not be loaded 2013-06-30 13:51:49 +02:00
Ingo Weinhold 2a24174d9b Clock: TOffscreenView: small cleanup 2013-06-30 13:46:56 +02:00
Ingo Weinhold 301f4b463a Expander: also read rules from data directories
* ExpanderSettings: Use a settings directory "expander" and rename
  settings file to "settings".
* ExpanderRules: Read expander rules from "rules" files in the settings
  directory, then from files in expander/rules subdirectories of the
  installation location data directories, and finally add the built-in
  rules. This allows packages to provide expander rules (as already
  done by the p7zip package).
* OptionalPackages: Remove AddExpanderRuleToHaikuImage invocations.
* ImageRules: Remove Expander rule file related rules.
2013-06-30 13:29:48 +02:00
Ingo Weinhold 2cf916cbe2 ExpanderRules: Coding style update
Also makes the ExpanderRule getters const. No other functional change.
2013-06-30 13:15:35 +02:00
Ingo Weinhold 94307089f9 Update packages ffmpeg, openssh, p7zip 2013-06-30 11:49:40 +02:00
Ingo Weinhold 26ea70667a Deskbar: use a virtual directory for the user-configurable menu
* Deskbar now uses ~/config/settings/deskbar/menu_entries for its menu,
  falling back to /system/data/deskbar/menu_entries, when the former
  doesn't exist. The latter always exists and is a virtual directory
  merging the deskbar/menu subdirectories of ~/config/settings/ and
  <any installation location>/data/. So, if a package provides a
  deskbar menu symlink, it is added automatically when the package is
  activated. The user can add own menu items by putting stuff into
  ~/config/settings/deskbar/menu/, only use their own organization by
  symlinking it to menu_entries, or do fun stuff by making menu_entries
  a customized virtual directory.
* HaikuImage: No longer create any deskbar menu symlinks in the user's
  settings directory. Instead add them to the Haiku package.
* OptionalPackages: At least for the optional packages that do have
  hpkgs, no longer create deskbar menu symlinks in the user's settings
  directory.
* Move all Deskbar settings files to ~/config/settings/deskbar/ and
  drop the "Deskbar_" prefix.
2013-06-29 14:58:52 +02:00
Ingo Weinhold dbd97804ea SetType rule: add optional type parameter
If not specified the executable MIME type is used as before.
2013-06-29 14:58:52 +02:00
Ingo Weinhold 1c29b26e7c Add virtual directory feature to Tracker
Similar to stored queries, files of the virtual directory type behave
like directories -- i.e. they open in a list-mode Tracker window and
show up as an item with submenu in navigation menus. The file itself is
a plain text file in driver settings format. It can have an arbitrary
number of "directory" entries, which specify the paths of (actual)
directories for which the virtual directory provides a merged view. The
view will not show duplicate entries. For non-directory entries the
first one encountered (according to the order the directory paths are
specified in the file) will be shown. A subdirectory entry will again
behave like a virtual directory.

The support in Tracker isn't perfect yet. I'm afraid major refactoring
would be necessary to get it there.

The virtual directory file type uses a differently colored version of
the folder icon. Alternatives welcome.
2013-06-29 14:58:51 +02:00
Ingo Weinhold de85051c81 BPoseView::AttributeChanged(): additional check in icon case
Model::AttrChanged() requires the model to be open and so does
IconCache::IconChanged(), so add the check. Not sure if the block is
ever executed now (or ever worked before). This does at least prevent
asserts being triggered when compiled with debugging enabled.
2013-06-29 13:58:10 +02:00
Ingo Weinhold e19f9091cd BPathMonitor: add "from path" to B_ENTRY_MOVED notifications 2013-06-29 13:44:08 +02:00
Ingo Weinhold b5b9388a28 Add C++ API for driver settings
Copied from the userlandfs utility classes, adjusted coding style, did
some renaming and small interface changes.
2013-06-29 13:42:00 +02:00
Ingo Weinhold c143884fdf Use incorrect use of BPathMonitor in input/midi/net server
The B_ENTRY_* constants aren't valid watch flags.
2013-06-27 21:57:44 +02:00
Ingo Weinhold 04382d496e BPathMonitor: rewrite
This resolves all issues the test suite uncovered. It should also deal
with hard links correctly, though that hasn't been tested. Still
unsupported are:
* changes due to mounting/unmounting a volume,
* tracking of symlinks in the path components.
2013-06-27 21:57:44 +02:00
Ingo Weinhold cc4d194aeb Add test suite for BPathMonitor
749 / 1504 tests fail
2013-06-27 21:57:43 +02:00
Ingo Weinhold 8c974aa800 node monitor: add TODO regarding the syscalls 2013-06-27 21:57:43 +02:00
Ingo Weinhold 0d603ac65c Fix node monitoring slot accounting for stop_watching()
NodeMonitorService::RemoveUserListeners() didn't decrement
io_context::num_monitors when removing a listener, so limit checks
would be off afterwards.
2013-06-27 21:57:43 +02:00
Ingo Weinhold 1eda8517f1 BOpenHashTable: Add IsEmpty() 2013-06-27 21:57:43 +02:00
Ingo Weinhold 3e8daeb7bc Add BMessenger::HashValue() 2013-06-27 21:57:42 +02:00
Ingo Weinhold cb4a05cfdf Missed B_WATCH_FOLDERS_ONLY occurrence 2013-06-27 21:57:42 +02:00
Ingo Weinhold 38afe232de BPathMonitor: pass BMessenger by reference 2013-06-27 21:57:42 +02:00
Ingo Weinhold 7b198d812e B_WATCH_FOLDERS_ONLY -> B_WATCH_DIRECTORIES_ONLY
Stick to the nomenclature generally used in the public API.
2013-06-27 21:57:42 +02:00
Ingo Weinhold 8d572c9264 Add class NotOwningEntryRef
A entry_ref subclass that avoids cloning the entry name.
2013-06-27 21:57:41 +02:00
Ingo Weinhold 3209bc40c5 BPathMonitor: PathHandler::_NotifyTarget(): simplify
* Add optional entry_ref return parameter to _HasFile().
* Simplify _NotifyTarget() by using _HasDirectory() and _HasFile().
2013-06-27 21:57:41 +02:00
Ingo Weinhold ddd775f5ac BPoseView::FSNotification(): fix issue in debug build 2013-06-27 21:57:41 +02:00
Ingo Weinhold 77ca66cdb7 BPathMonitor: make the node watching mechanism configurable
Add inner class BWatchingInterface and method SetWatchingInterface().
This abstracts the calls to watch_node() and stop_watching(), thus
making it possible to use the path monitor in Tracker.
2013-06-27 21:57:41 +02:00
Ingo Weinhold ad1875fd70 BPathMonitor: use pthread_once for initialization 2013-06-27 21:57:40 +02:00
Ingo Weinhold 6ca95bd813 PathMonitor.cpp: some style cleanup 2013-06-27 21:57:40 +02:00
Ingo Weinhold 62b0b64124 BStringList::Add(): fix ref counting problem
Handle the case that the private data of the given string is not
shareable.
2013-06-27 21:57:40 +02:00
Ingo Weinhold 5fa3519dec BString::Private: Add IsShareable() 2013-06-27 21:57:40 +02:00
Ingo Weinhold 2752612bc6 BMergedDirectory::GetNextDirents(): fix end-of-list return value 2013-06-27 21:57:40 +02:00
Ingo Weinhold 535207ae9a BPoseView::AddPosesTask(): fix count checks
In case GetNextDirents() returned an error, the wrong blocks were
executed.
2013-06-27 21:57:39 +02:00
Ingo Weinhold 105511275e Move PUuid from shared to support 2013-06-27 21:57:39 +02:00
Oliver Tappe ece582547a Improve robustness of asctime() and asctime_r().
* Return NULL and set EINVAL if the given tm pointer is NULL. This 
  isn't mandated by the POSIX base specs, but it just makes sense.
2013-06-23 17:01:12 +02:00
Oliver Tappe 51bce887cd Fix behaviour of localtime(), gmtime() and mktime().
* In case the locale backend could not be loaded, these functions (and
  their reentrant counterparts) just returned an error. So we reactivate
  parts of the BSD-/Olson-implementation in localtime_fading_out.c in
  order to use them as fallback.
* Cleanup localtime_fading_out.c (remove a lot of unused cruft).
2013-06-23 16:43:23 +02:00
Oliver Tappe b4dc51b39a Fix behaviour of towlower(), towupper() and towctrans():
* all those functions need to return the given wc unchanged in case of
  error, not 0
* towctrans() didn't actually look at the requested transition, but 
  always acted as if _ISlower was given
2013-06-23 11:45:38 +02:00
Ingo Weinhold 2551c12bec Update wonderbrush package 2013-06-19 05:07:27 +02:00
Ingo Weinhold b6163fd2ae Update openssh package 2013-06-18 11:57:29 +02:00
Ingo Weinhold 01293f6a5d OptionalPackages: fix syntax errors 2013-06-18 11:40:12 +02:00
Ingo Weinhold 56c3ef1d73 Disable xz-utils optional package for gcc 2 2013-06-18 11:32:23 +02:00
Ingo Weinhold 7f453e3b5f Update packages vision, wpa_supplicant, wqy_microhei, yasm 2013-06-18 11:29:00 +02:00
Ingo Weinhold e31d588184 Update several packages
* neon
* openssh
* p7zip
* pe
* subversion
* tar
* timgmsoundfont
* wonderbrush
2013-06-18 05:06:54 +02:00
Ingo Weinhold 676cc5aafe Update packages mercurial, mkdepend 2013-06-17 21:22:28 +02:00
Ingo Weinhold 98c399b8c8 Update packages keymapswitcher, libedit, libxml2, libpcre 2013-06-17 21:06:31 +02:00
Ingo Weinhold 0ac19e7d42 Update several packages
* bzip2
* ca_root_certificates
* cdrtools
* cmake
* ctags
* curl
* cvs
* doxygen
* freetype
* git
* groff
* libsolv
* man
* nano
* readline
* sqlite
* python
2013-06-17 19:18:05 +02:00
Ingo Weinhold 8d1a9545a9 Update apr[_util], be_book, bepdf, jam packages 2013-06-16 03:54:50 +02:00
Ingo Weinhold 46792e5997 Update basic development packages 2013-06-15 23:03:59 +02:00
Oliver Tappe 49f8422a0d Remove whole sys-include folder when cross-compiler has been built.
* at least for gcc2, we used to leave the 'os' subfolder in there,
  which may have caused problems when Haiku's headers have changed
  since the last time the compiler was built.
(cherry picked from commit 92bb2fb33e)
2013-06-14 19:31:20 +02:00
Oliver Tappe de2188e964 Fix #7824: failure to build a cross-compiler on Haiku.
* force creation of a cross-compiler for both gcc2 and gcc4 when
  building on Haiku (by suffixing the build and host machine with
  '_buildhost')
(cherry picked from commit df69e209bb)

Conflicts:
	build/scripts/build_cross_tools_gcc4
2013-06-14 19:30:55 +02:00
Ingo Weinhold 12629b106e Update expat package 2013-06-14 00:48:13 +02:00