write 0 bytes after doing a successful copy of an attribute. Since
fs_write_attr() was actually ignoring the position argument, this would just
clobber attributes and truncate them back to 0 bytes. This was fixed in the
previous commit, however, it should be noted that if the buffer which
copy_attributes() uses were too small, writing attributes which live in the
"small data section" iteratively would not work because of a current BFS
limitation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31310 a95241bf-73f2-0310-859d-f6bbb57e9c96
* As even the author of fs_attr.c was trying to use fs_write_attr() in an
unsupported way in the cp copy_attributes() implementation, try to be
more forgiving and support writing attributes at an offset. The method is
required to behave inconsistent in that replacing bytes at offset 0 is
not supported as replacing bytes at any other offset. Writing at offset 0
will clobber the existing attribute to stay compatible with BeOS.
NOTE: BFS itself still does not support writing attributes at an offset which
are withing the "small data section". To work around this problem, programs
which copy attributes in a loop must make sure that their buffer is large
enough that such "small data section" attributes require only one loop
iteration.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31309 a95241bf-73f2-0310-859d-f6bbb57e9c96
1) If a node was filtered out by the ref filter, PoseView effectively wiped out all evidence that it ever knew the node existed and stopped listening for changes on it. Consequently, it would never notice if an attribute change such as updating the file's type made the file now eligible to be viewed. Now we keep watching the node and keep it on the zombie list until such time as it passes the filter (if ever).
2) Refresh() cleared the pose list, but not the inserted nodes list. Consequently, any nodes that were already visible before calling Refresh() would not be readded.
This fixes various problems seen in the file panels in WonderBrush (and probably others), such as the file panel initially coming up empty sometimes, and also it not noticing new screenshots,
This closes ticket #1717.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31307 a95241bf-73f2-0310-859d-f6bbb57e9c96
use B_* error codes, print most numbers as normal decimals or at least prefix
them with 0x where appropriate.
* When counting free clusters for FAT32 correctly ignore the uppermost 4 bits
when checking for free entries. Shouldn't matter, as those should always be
0 anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31306 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added "Force Aspect Ratio" to Video menu and context menu.
* Removed some code duplication in handling the video size messages.
* Added track selection sub-menus to the context menu, replacing the IMHO
not so important interface settings items.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31302 a95241bf-73f2-0310-859d-f6bbb57e9c96
Totally "gapless", unlike any other media player I've ever used.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31301 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Moved the ExpressionParser class to shared. It's now built into its own
static library.
* Added hexadecimal number support to the expression parser as well as
Evaluation*() methods to get a number instead of a string.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31298 a95241bf-73f2-0310-859d-f6bbb57e9c96
nicer access.
* A CompilationUnit does now know its debug info entry.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31282 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added TeamDebugInfo which serves as factory for ImageDebugInfos.
* Added the DWARF code to the build again. It's not used yet, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31278 a95241bf-73f2-0310-859d-f6bbb57e9c96
1680x1050 with 16 bit on i865+ (still need to check the restrictions of
older chips).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31277 a95241bf-73f2-0310-859d-f6bbb57e9c96
the jobs accordingly.
* Added a view to list the source files and functions for an image.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31271 a95241bf-73f2-0310-859d-f6bbb57e9c96
the node listener, to make sure it won't lose track.
* The DriverWatcher now also listens for B_ENTRY_REMOVED. This causes drivers to
be unpublished even if they are only symlinked.
* However, to detect new drivers in a symlinked location, we'd need special
support for those, and also need to watch the parent directory of the symlink
target - this is close to overkill, so I stayed away from implementing that
for now :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31267 a95241bf-73f2-0310-859d-f6bbb57e9c96
completely, including parameters.
* Whitespace cleanup.
* Coding style fixes.
* Keep variables as local as possible.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31266 a95241bf-73f2-0310-859d-f6bbb57e9c96
of trunk]
Fixed a bug exposed by changes in the locale kit branch:
* the signature of stringbuf::setbuf() wasn't matching the one from streambuf,
which caused the base version to be hidden instead of overridden - leading
to crashes during cleanup of stringstream objects
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31262 a95241bf-73f2-0310-859d-f6bbb57e9c96
* The active fat field is valid if fats aren't mirrored, not the other way
around.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31257 a95241bf-73f2-0310-859d-f6bbb57e9c96
NULL after releasing its reference, so it could be released again later.
* No longer attach the source code to StackFrame, but rather to
FunctionDebugInfo. Besides being the more obvious place it also prevents
un-/reloading the source code when stepping. Only disadvantage is that we
never unload the source again yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31256 a95241bf-73f2-0310-859d-f6bbb57e9c96
read-only volume. This fixes bug #3432.
* Journal::ReplayLog() will now return an error on a read-only device, rendering
read-only dirty volumes unmountable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31255 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Reworked how preallocations are chosen, and also take the grow rate into
account.
* Also, the preallocation is now rounded to the next multiple of the
preallocation size (previously, a 64K write would only allocate 64K).
* This should also close bug #2573.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31253 a95241bf-73f2-0310-859d-f6bbb57e9c96
on init, keeping the most expressive one for each function. The interface
changed accordingly, i.e. it is now possible to iterate through the functions
and FindFunction() is now called FunctionAtAddress(), not returning a reference
anymore.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31251 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Replaced all occurences with the standard macros M_PI, and M_PI_2.
* Some coding style cleanup on the touched files, no other changes besides
adding a missing check for a failed memory allocation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31250 a95241bf-73f2-0310-859d-f6bbb57e9c96
the partition size slider to MBs, so that the int32 doesn't overflow for larger
partitions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31249 a95241bf-73f2-0310-859d-f6bbb57e9c96
group was a partial one. This caused bug #3963 (Be's BFS didn't do that).
* Added new BlockAllocator::CheckBlocks() that does not depend on allocation
group limits - this fixes the problematic check in
BlockAllocator::_Initialize() to see if the super block, the block bitmap,
and the log area are all allocated - this only worked if they all fit into
the first allocation group (which happens only with partitions with more
than 1 billion blocks, ie. 2 TB would already be problematic with a 2K block
size).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31248 a95241bf-73f2-0310-859d-f6bbb57e9c96