* save the fd so we can use it :)
* open the pty read-write else it won't work...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23393 a95241bf-73f2-0310-859d-f6bbb57e9c96
Actually getlogin didn't belong to usergroup.c in the first place anyway.
And definitely not to the kernel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23391 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Some restructuring and cleanup
This keeps the input_server from polling a removed device continuously.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23388 a95241bf-73f2-0310-859d-f6bbb57e9c96
That way menubars are navigable via keyboard. There are still glitches,
but menu keyboard navigation works now.
Minor optimization: cache the value of CountItems() instead of calling
it multiple times.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23387 a95241bf-73f2-0310-859d-f6bbb57e9c96
Worked quite well in latest zeta, so it's already tested :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23385 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Actually enable the periodic schedule so that any interrupts work over EHCI
For those who wait for OHCI: You can now attach your USB 1.1 mouse or keyboard
to a USB 2.0 hub and it should work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23382 a95241bf-73f2-0310-859d-f6bbb57e9c96
couldn't be read from a file, Tracker would try 10 times with a 10 ms
timeout - but only if the creation time equals the modification time!
That was obviously supposed to be a check if the file was recent...
Now that computers are faster (even when running Haiku), it may
actually take less than one second to copy a file, so most files on
the Haiku image satisfied this thoughtful and future-proof check.
(And no, even the original BFS does not automatically increase the
modified time on close.)
* Now, mmlr came up with a better check: we just check the file's
creation time against the current time to see if it's a recent file.
That should work a bit more reliable :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23376 a95241bf-73f2-0310-859d-f6bbb57e9c96
Haiku it is rather slow (on my machine about 80% slower than on Zeta)
and sometimes a compilation even fails, due to what looks to me like a
problem with gcc's subprocess synchronization (our wait()/waitpid() or
friends might have some race condition).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23371 a95241bf-73f2-0310-859d-f6bbb57e9c96
23139 into trunk, with roughly the following changes (for details svn
log the branch):
* The int 99 syscall handler is now fully in assembly.
* Added a sysenter/sysexit handler and use it on Pentiums that support
it (via commpage).
* Got rid of i386_handle_trap(). A bit of functionality was moved into
the assembly handler which now uses a jump table to call C functions
handling the respective interrupt.
* Some optimizations to get user debugger support code out of the
interrupt handling path.
* Introduced a thread::flags fields which allows to skip handling of
rare events (signals, user debug enabling/disabling) on the
common interrupt handling path.
* Got rid of the explicit iframe stack. The iframes can still be
retrieved by iterating through the stack frames.
* Made the commpage an architecture independent feature. It's used for
the real time data stuff (instead of creating a separate area).
* The x86 CPU modules can now provide processor optimized versions for
common functions (currently memcpy() only). They are used in the
kernel and are provided to the userland via commpage entries.
* Introduced build system feature allowing easy use of C structure
member offsets in assembly code.
Changes after merging:
* Fixed merge conflict in src/system/kernel/arch/x86/arch_debug.cpp
(caused by refactoring and introduction of "call" debugger command).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23370 a95241bf-73f2-0310-859d-f6bbb57e9c96
This fixes the bug described by Stefano in r23343.
* Therefore, I enabled cached menu windows again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23356 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Started a "View As" feature which will allow you to use the type
editor for the file itself - not yet enabled (or working).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23352 a95241bf-73f2-0310-859d-f6bbb57e9c96
Added ata_request as wrapper around scsi_ccb while they are executed in the ata stack.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23344 a95241bf-73f2-0310-859d-f6bbb57e9c96
review.
Added a compile time option to switch off the use of the cached menu
windows. Looks like there is a problem with the focus system, if I keep
the cached menu window around, it "steals" keyboard events from the main
app window after the menu has been opened and closed once.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23343 a95241bf-73f2-0310-859d-f6bbb57e9c96
Christof Lutteroth, which improve menu keyboard navigation. Sorry for
the delay, I had these patches sitting on my hard drive for a while. At
least now you can open a menu with ALT + ESC, navigate it with the arrow keys,
and invoke an item.
Various issues still exist, including: menubars don't get the keydown
messages, and if you keep the mouse over the menu while navigating
with the keyboard, nothing will happen.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23339 a95241bf-73f2-0310-859d-f6bbb57e9c96
* fixes the content inside the tabview in the Media preflet spanning over
the wrong area (wrong insets)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23338 a95241bf-73f2-0310-859d-f6bbb57e9c96
resized but still had dirty pages to be written back,
vm_cache_resize() (which is called with the inode lock being held)
deadlocked with the page writer.
* Now, I reintroduced busy_writing: it'll be set by everything that
writes back pages (vm_page_write_modified(), and the page writer),
and will be checked for in vm_cache_resize() - other functions are not
affected for now, AFAICT.
* vm_cache_resize() will clear that flag, and the writer will check it
again after it wrote back the page (which will fail when it's outside
the file bounds), and if it's cleared, it will get rid of the page
(if the file has been resized again in the mean time, writing it will
succeed then, and we'll keep the page around).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23334 a95241bf-73f2-0310-859d-f6bbb57e9c96
mouse case in the ioctl() hook. Should be considered work in progress.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23330 a95241bf-73f2-0310-859d-f6bbb57e9c96
* changed the way the interrupt schedules and repeats are handled, the
input server thread (via ioctl) is now triggering the scheduling and
processing of usb interrupt transfers. As long as it is blocking on
the usb_callback semaphore, it is using it as timeout for the key
repeats.
-> no more deadlock because the driver is issuing usb commands from
within the usb_callback function (hotplugging should be fixed
when using the Haiku usb stack)
-> the driver is no longer installing one timer per key down event
-> simplifications
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23328 a95241bf-73f2-0310-859d-f6bbb57e9c96
appear: when freeing a modified page, it wouldn't have a cache
anymore, but set_page_state_nolock() depended on it.
* To work around this, I added a vm_page_free() function, which the
caches that free modified pages have to call (but others may, too).
It will correctly maintain the sModifiedTemporaryPages counter in case
the cache has already been removed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23318 a95241bf-73f2-0310-859d-f6bbb57e9c96
a function in the stack trace (only works reliably when a stack frame
is exists, and you'll have to know the number of arguments).
* Refactored the functions a bit and extracted setup_for_thread() out
of stack_trace() to be used by show_call() as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23316 a95241bf-73f2-0310-859d-f6bbb57e9c96
Set the field on allocation and pass it around.
Still disabled as CodyCam drops everything, I should probably drop old frames from the buffer...
for now it uses system_time() to make CodyCam happy.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23307 a95241bf-73f2-0310-859d-f6bbb57e9c96
should later be replaced by something more useful (when we have a
usable column list/tree view class).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23306 a95241bf-73f2-0310-859d-f6bbb57e9c96
mouse events would not be passed to the correct children of views with
B_DRAW_ON_CHILDREN flag set -> fixed. (fixes#1673)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23300 a95241bf-73f2-0310-859d-f6bbb57e9c96
deserve to be mentioned... please speak up and I will correct it on
the spot! :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23297 a95241bf-73f2-0310-859d-f6bbb57e9c96
* the Revert button always returns to the settings which were active
when the preflet was started
* the Defaults button always applies the default settings (the Revert
button then still reverts to the original settings instead of those
which were active when "Defaults" was pressed)
* the enabled state of the two buttons is correctly maintained
* code cleanup and refactoring
Thanks a lot, aldeck!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23296 a95241bf-73f2-0310-859d-f6bbb57e9c96
frame around the currently selected partition (in the listview)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23290 a95241bf-73f2-0310-859d-f6bbb57e9c96
non-traight lines extending past the thumb frame because of anti-aliasing
effects
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23286 a95241bf-73f2-0310-859d-f6bbb57e9c96
* add support for B_HOME and B_END key (jump to min/max value)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23285 a95241bf-73f2-0310-859d-f6bbb57e9c96
- in the code path, now it's clear if the looper is locked or not
- if menus are quitting, now we don't call snooze() anymore, and avoid
the extra GetMouse() call.
- some other cleanups
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23279 a95241bf-73f2-0310-859d-f6bbb57e9c96
by toggling pointers instead of assigning/transfering regions
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23272 a95241bf-73f2-0310-859d-f6bbb57e9c96
* cleanup the code in a few places
* fixed a bug where the border region would not be made empty if there
was a decorator previously, but there is no new one
* slight improvement for memory footprint of WindowLayer by using bit fields
for more of the flags
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23271 a95241bf-73f2-0310-859d-f6bbb57e9c96
* improve the placement of text in the shutdown window
* define constants for the width of the "stripe" and icon size
Thanks! Fixes#1697.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23270 a95241bf-73f2-0310-859d-f6bbb57e9c96
* fixed bitmap fonts for real (applied the wrong patch last time)
* some cleanup for coding style by myself (in other places)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23269 a95241bf-73f2-0310-859d-f6bbb57e9c96
potential data corruption. This fixes bug #1388.
* get_node_at_offset() would return a node too early in the list if the offset
fell on a node boundary - didn't cause any actual harm, though.
* append_size(): renamed variable tailSpace to previousTailSpace to make
it clearer.
* Improved debug output for duplicate_buffer() and clone_buffer().
* Debug output is now prepended by the thread ID.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23268 a95241bf-73f2-0310-859d-f6bbb57e9c96
NULL (it's not used anywhere yet, anyway).
* Fixed warning when compiling with tracing turned on.
* Some cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23267 a95241bf-73f2-0310-859d-f6bbb57e9c96
set when the first chunk of the file could be read in directly, causing it
to read data to a wrong place in the buffer.
* Reading in the first chunk directly would have also only worked if vecIndex
and vecOffset was 0 when calling the function.
* Applied the fs_shell changes in file_map to the kernel version as well (the
constructor already worked correctly, though).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23265 a95241bf-73f2-0310-859d-f6bbb57e9c96
causing all reads with an offset unequal to 0 to fail.
* Also fixed file_map_translate() which was hiding this problem.
* Fixed build and warnings when compiled with debugging output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23264 a95241bf-73f2-0310-859d-f6bbb57e9c96
* fixed rendering of certain chinese fonts
(I think it fixes rendering of bitmap fonts in general, but it should not
support rotated text AFAIKT, since that is only supported for vector fonts)
Nice work, Anthony, thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23261 a95241bf-73f2-0310-859d-f6bbb57e9c96
while scsi_cmd_rw_12 has a 32 bit field. As both are big endian, that
error shouldn't have caused any problem or data corruption.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23254 a95241bf-73f2-0310-859d-f6bbb57e9c96
with its destructor when the socket is deleted. This effectively stopped all
network timers from working. This will not only fix bug #1693, but also many
other networking problems I've seen so far.
* Minor cleanup (mostly line breaks, strange indenting and superfluous
parentheses).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23251 a95241bf-73f2-0310-859d-f6bbb57e9c96
Converted Identify Device and Read / Write commands, they now create a sata_request
and pass it to ExecuteSataRequest. Added support for cache flushing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23250 a95241bf-73f2-0310-859d-f6bbb57e9c96
This class either encapsulates scsi_ccb or can be used stand alone.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23249 a95241bf-73f2-0310-859d-f6bbb57e9c96