Commit Graph

16614 Commits

Author SHA1 Message Date
Axel Dörfler
4827dbe47a Fixed a bug in the VFS that could cause BFS to corrupt an inode:
dir_remove() did not normalize the path, and thus, could forward a "." as
name for the removed directory - which BFS didn't catch because it assumed
our VFS would work correctly...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-18 17:40:27 +00:00
Axel Dörfler
cbdbfd3a80 Implemented Switcher support in BWindow - doesn't yet work correctly for some
reason, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17164 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-18 16:27:09 +00:00
Axel Dörfler
90984a161a * Renaming or moving a directory within the known font directories is now
handled correctly.
* The path of moved styles is now updated (also when their parent directories
  are moved).
* FontManager::_AddPath() can no longer crash when you leave the _newDirectory
  parameter set to NULL.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17163 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-18 15:14:10 +00:00
Axel Dörfler
a88c592fb3 Instead of ending up in an endless loop, fs_sync() will now bail out in
case get_vnode() fails.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17162 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-18 14:50:36 +00:00
Axel Dörfler
fde87a1094 Instead of waiting forever, get_vnode() will now fail after 3 seconds if the
vnode is not becoming unbusy (right now it even panics, but that can be removed
later on).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-18 13:55:47 +00:00
Axel Dörfler
cd0ea6ff0f * Added some of the rgb_color methods from Dano/Zeta.
* The private general_info structure is now setup - that fixes a part of bug #502;
  NetPositive's bar remains black, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-18 12:14:59 +00:00
Axel Dörfler
50f6c62f4b Fixed some issues in the "keep settings" alert:
* pressing the escape key now exits the window as it should be (SetEventMask()
  was called in the constructor, but has no effect as long as the view isn't
  attached to a window).
* The window is now font sensitive (fixing bug #450).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17159 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-17 23:22:12 +00:00
Stephan Aßmus
8165fa3936 * fix bug 414 by Sync()ing in UpdateIfNeeded() to make
sure all messages that could trigger an update have
  actually arrived at the server
* small clean ups here and there, some clarifications in
  comments
* check for the return value of Lock() in DisableUpdates()
  and EnableUpdates()


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17158 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-17 20:42:22 +00:00
Stefano Ceccherini
1da0b2498f Fixes part 2 of bug 472
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17157 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-17 17:48:05 +00:00
Axel Dörfler
a5c5697937 Fixed starting keyboard navigation (when no view has focus yet in which
case the window receives the keyboard message).
This fixes bug #411.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-17 15:58:12 +00:00
Marcus Overhagen
428dcd5b48 Copy the correct number of bytes when making a BBitmap copy. Unfortunately, this still doesn't fix Cortex drawin bug.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-17 15:47:08 +00:00
Stefano Ceccherini
efdd958617 BSlider locked the looper and never unlocked it anymore. Was the cause of bug 406
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17154 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-17 14:17:29 +00:00
Stefano Ceccherini
4697016070 Lowered the delay in menus after which they don't switch to sticky mode, should fix bug 491, although its not really a bug
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-17 14:13:08 +00:00
Stefano Ceccherini
2420234dff BTextView::AutoResize() wasn't still completely correct, causing bug 464
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-17 14:09:32 +00:00
Axel Dörfler
aca623bd06 Activating a window with B_AVOID_FOCUS set no longer changes focus - this prevents
the desktop window from losing focus when a menu opens.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17151 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-17 13:23:45 +00:00
Axel Dörfler
aacfed124b Added private menu/desktop/WindowScreen feels to play with.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17150 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-17 13:22:19 +00:00
Axel Dörfler
632ba028c9 SetValue() is now called after the object has been fully initialized.
This fixes bug #495.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17149 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-17 13:03:05 +00:00
Marcus Overhagen
e9aa589659 bugfix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17148 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-17 11:51:34 +00:00
Axel Dörfler
c5d10f7ae5 * Made the refresh selection window font sensitive.
* Nicer separation from RefreshSlider.
* Got rid of the RefreshView class (a BStringView does its job now).
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17147 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-16 20:55:53 +00:00
Axel Dörfler
e762848ab2 * Now draws the UpdateText() label as well (was obviously forgotten before).
To reduce the number of calls to UpdateText(), the value returned is now
  buffered. This fixes bug #443.
* SetValue() now calls UpdateText() and also invalidates the region where
  that label is drawn.
* In asynchronous mode, B_NO_POINTER_HISTORY is set now for tracking.
* Increased minimum snooze time in synchronous mode.
* Minor cleanup, renamed fMinLimitStr to fMinLimitLabel, etc.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17146 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-16 20:45:22 +00:00
Axel Dörfler
c4d51ab434 * FSEmptyTrash() no longer checks against a specific error code from
find_thread().
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17145 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-16 17:55:46 +00:00
Axel Dörfler
80fda87e9c find_thread() now returns B_NAME_NOT_FOUND when it doesn't find the thread
as stated in the BeBook - this fixes bug #458 as Tracker directly compared
with that error code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-16 17:53:10 +00:00
Axel Dörfler
ccc21e3c82 Enabled fonts in the user font directory as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17143 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-16 15:38:11 +00:00
Axel Dörfler
b506c53f0a Changed useconds_t and suseconds_t to be "long" types instead of "long long".
This has a negative effect on ualarm(), but is somewhat required by the POSIX
specs ("[...] the implementation should support one or more programming environments
in which [...], and useconds_t are no greater than the width of type long."
Indeed, it also changed the size of our struct timeval which broken binary
compatibility with R5 (ie. used in gettimeofday()).
This fixes bug #490 and therefore bug #428 (firefox crashing on load) as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-16 15:16:50 +00:00
Axel Dörfler
604c8038ff Since the keyboard filter compared targets by their pointers, it could happen
that it didn't reset the EventDispatcher's focus target even though the object
underneath that same pointer had change, which caused the EventDispatcher to
drop the event.
This fixes bug #416, and should fix bug #409, too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-16 14:16:31 +00:00
Axel Dörfler
6e69baffb1 Desktop::SendBehindWindow() now checks if the window is on the current
workspace, and do nothing if not. This fixes bug #442.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-16 13:49:41 +00:00
Axel Dörfler
6aa4743b51 Added TODO comments about some race conditions in the code because of unlocking
the desktop.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-16 13:18:35 +00:00
Axel Dörfler
b2536cb5d6 Fixed bug #483:
* vfs_get_fs_node_from_path() now also work for absolute paths again (but
  still for relative ones from the volume root) - it just tests if the
  mount IDs fit, so it only returns successful if the path really is on
  the desired mount.
* the Disk Device Manager publish functions now call devfs_publish_*()
  correctly (by omitting the "/dev/" mount point).
* devfs_publish_partition() now accepts absolute device paths but relative
  partition paths.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17138 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-16 11:44:54 +00:00
Michael Lotz
b026647574 Changed the temporary buffer to be static to avoid using that much stack. Replaced wrong maximum buffer length (oops).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-16 10:56:00 +00:00
Stefano Ceccherini
415c63bee2 PopUpMenus didn't respect the openanyway setting (sticky mode), they always set it. And even in that case, they weren't working correctly. This should fix bugs 463 and 476. This might not work if click to open isn't selected in the menu prefs, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17136 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-15 16:57:51 +00:00
Stefano Ceccherini
ce1efe4ce6 forgot to commit this changed header, sorry
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-15 12:55:39 +00:00
Stefano Ceccherini
36aa2198b7 Some more changes, fixed bug 487, added a small hysteresis so menus could be more nice to navigate, some corrections in popupmenu
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17134 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-15 12:42:34 +00:00
Rudolf Cornelissen
cdc79923d0 updated docs. Bumped version to 0.81.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-15 08:47:20 +00:00
Rudolf Cornelissen
c02dfedfc1 fixed driver assuming enabling AGP succeeded if it did not block it itself. This was a problem if AGP was disabled totally via the busmanager settings file. Driver now only notes down AGP is running if the busmanager 'reported' this succeeded. This fixes the long standing trouble (ever since DMA is in the driver, so since version 0.53) that user kraton was having. He stumbled on this problem since on his system 'default' AGP mode seems to result in trouble, so he tried blocking it via agp.settings..
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-15 08:38:32 +00:00
Michael Lotz
1df23ecc52 Should finally fix the eaten up messages. We obviously must not use the output buffer to write the repeat count as the output buffer already contains the new message...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-14 12:38:31 +00:00
Jérôme Duval
68b599fbcc reusing the old settings message is a good idea (thanks Axel!)
we simply remove color data before storing the workspace color


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17130 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-14 10:50:47 +00:00
Jérôme Duval
8be3635fcf don't reuse old workspace settings, store method expects an empty message
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17129 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-14 09:55:00 +00:00
Jérôme Duval
8a9866347d added checks for locking
also assigning the window field to null when quitting the window


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17128 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-13 20:26:45 +00:00
Axel Dörfler
9a11448fbd vfs_get_fs_node_from_path() didn't work correctly and ignored the mount_id
(ie. it only worked for absolute paths, but it shouldn't work for those at
all).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17127 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-13 18:06:30 +00:00
Axel Dörfler
cbb7d5038a * The screen saver window is now a kWindowScreenFeel, and thus should always be
in front of all other windows.
* Added TODO items where the code is strange or messy.
* Big cleanup (renamed files and variables like "fPww" to something more
  meaningful).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17126 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-13 15:46:06 +00:00
Jérôme Duval
20ad5fdfba now better place comboboxes taking font size into account
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17125 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-13 15:45:41 +00:00
Axel Dörfler
b660dafd67 * More cleanup of Frontmost().
* Added support for kWindowScreenFeel (those are now on top of everything,
  even menus can't disturb them).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17124 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-13 15:18:16 +00:00
Marcus Overhagen
45d3c4ec14 Implemented hotplug support conforming to the active multiplexing specification.
Works with my notebook, but kernel support for unpublishing devices is broken.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17123 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-13 14:57:16 +00:00
Axel Dörfler
fb072d3724 * When changing a window's feel, it's now also moved to the front if
necessary.
* Also, newly exposed window areas are now refreshed when a change
  of feel also changed the window order.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17122 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-13 14:44:00 +00:00
Axel Dörfler
cc4612fe3f * Modal windows are now correctly taken into account: no click go through to a
window with a modal window. This also completes the fix for bug #439.
* Made some methods const that should have been const in the first place.
* Note, there is now a Desktop::_WindowHasModal() and WindowLayer::HasModal() -
  the latter only works in the current workspace.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17121 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-13 13:56:01 +00:00
Stephan Aßmus
b57f2b537e * added handy BBitmap::Flags() method
* added NOTE to BBitmap::LockBits(), has anybody some insight into this?
  Otherwise we need to write a test app to discover its secrets... :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17120 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-13 13:15:00 +00:00
Axel Dörfler
b527dedcdd * Changed window hierarchy: menu windows are now always on top, then come modal
all windows, and after them floating all windows. This is different from BeOS
  (where floating all windows are on top of modal all windows), but the way its
  now seems to be more logical. This fixes bug #453 - there remains a problem
  with open menus, though, but that has to be solved differently by introducing
  a new feel.
* Also, modal app windows are now blocking floating app windows.
* Simplified WindowLayer::Frontmost() and Backmost() a bit, moving more stuff
  into HasInSubset().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17119 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-13 11:49:42 +00:00
Jérôme Duval
a0b6c232be replace hard value with the constant
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17118 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-13 08:50:04 +00:00
Stephan Aßmus
b6a33e1d41 * removed the special font renderer which was actually
the same as the normal one (one less renderer to update
  the color of)
* added a special B_OP_COPY implementation for text, which
  is in fact what the implementation was until now, so
  just like on R5, you have to specify the correct low color
  or you will see artifacts for the anti-aliased pixels
* implemented B_OP_COPY just like B_OP_OVER (only it draws
  the low color too like it should). So all apps that
  used B_OP_COPY to draw anything can continue to do so
  without having to worry about the low color, it will
  be anti-aliased against the actual background instead of
  the low color (which made especially no sense when drawing
  with the low color). Although this change makes it a bit
  slower to use B_OP_COPY, Haiku is now much more compatible.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17117 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-12 21:02:59 +00:00
Jérôme Duval
82081c70ea improved version
though the first workspace color isn't kept between boots


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17116 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-12 20:55:36 +00:00