Commit Graph
100 Commits
Author SHA1 Message Date
Axel Dörfler 7142b1a749 Fixed warnings.
Applied our coding style a bit, but the class members should be renamed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13526 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-07 12:42:57 +00:00
Axel Dörfler 8991f1a2af Implemented basic dynamic item support (IOW the BSlowMenu/BNavMenu stuff is now working
as expected), OkToProceed() needs some work, though.
Made _AddItem() more safe - the window is now also locked during BList::AddItem() and
while getting the window to install the item in.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-07 02:45:23 +00:00
Axel Dörfler 16e938888d Some more debug output, so that you know which window is killed this way.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13512 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 22:40:01 +00:00
Axel Dörfler 806767ec21 It now deletes its message port (it was previously incorrectly deleted by the client).
Now handles it gracefully if someone deletes its message port (it will try to close
the client and quit).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13511 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 22:39:15 +00:00
Axel Dörfler d520c103e5 We must not delete the server window's port...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13510 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 22:23:34 +00:00
Axel Dörfler 189ba7a9dc Tried to separate active WinBorder from front, but failed - it's now always
the focus border, and therefore, I probably broke floating windows (but that's
not that important right now).
Workspace::HideWinBorder() now sets focus to the next WinBorder, not always
the top one.
Workspace::MoveToFront() no longer changes focus, no longer calls ShowWinBorder()
when the window doesn't have to be moved (ie. for the desktop window).
Added Workspace::SetFocus() to change the focus explicetly.
Some other cleanup. This is an ugly patch, but refactoring/rewriting is coming
soon.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13509 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 20:19:22 +00:00
Axel Dörfler 063c980a2d Minor cleanup: we have a constant for the desktop window feel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 16:26:53 +00:00
Axel Dörfler d54e1c2a52 Forgot to add BEOS_ADD_ONS_DRIVERS_AUDIO to the jam build, thanks to Philipp Schmid for the note.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13499 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 16:11:53 +00:00
Axel Dörfler 379b4e7850 Accidently commited a wrong version: it's supposed to succeed when the registrar
is already running.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13498 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 16:10:02 +00:00
Axel Dörfler ab73618ed0 Added the ich_ac97 driver to the image.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13497 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 14:32:28 +00:00
Axel Dörfler 7560d40290 Renamed "obos_registrar" to "haiku_registrar" - not just for fun, but because
the registrar no longer depends on the app_server to be running.
Added a "run_haiku_registrar" tool that is now used in the various "run" scripts.
It only start the registrar on demand, ie. if it's not yet running.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 13:50:43 +00:00
Axel Dörfler c9299b3ce8 Instead of killing the ServerApps the hard way, the AppServer now quits
them if they didn't listen to B_QUIT_REQUESTED. This works much better
as how it was done before.
Now uses exit() instead of exit_thread() which makes sure no thread survives.
Note, there still is a race condition in case an application quits immediately
before shutting down the server - in that case, it doesn't participate in
the fShutdownSemaphore stuff, and therefore, the app_server could quit it
too early. Maybe I'll fix that one day, as well :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13481 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 04:57:57 +00:00
Axel Dörfler b93d2480cc Now drops into the debugger if the window/looper is still locked in task_looper().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13480 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 04:52:58 +00:00
Axel Dörfler 4c3e1ace67 Fixed a bug in quit_all_windows(): we need to Unlock() the application
because BWindow::QuitRequested() must be allowed to lock it.
This fixes a deadlock when trying to quit Tracker.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13479 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 04:48:22 +00:00
Axel Dörfler f87938dc2e It's now using setenv() under Haiku instead of its own stuff - and that will
now mimic setenv() instead of some strangely different thing :)
Rearranged and corrected the code that opens the PTY, and TTY.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13478 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 03:30:19 +00:00
Axel Dörfler 0b4ce825fb Fixed ComputeLayout(); it added 20 pixel for every item in the list in B_ITEMS_IN_COLUMN.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 03:20:31 +00:00
Axel Dörfler c8e986230f Incorrectly used real_time_clock() instead of system_time() for the message time stamps
(change suggested by stippi).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13476 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 02:48:13 +00:00
Axel Dörfler 1b1b68919c Fixed CalcFrame(): it could be called with Superitem() and Supermenu() == NULL.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13475 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 02:22:22 +00:00
Axel Dörfler 508d8a847f Big cleanup, rewrote Shelf.h.
Fixed bug in BShelf::ReplicantAt() - it is supposed to test if any of
the variables passed in is NULL before writing to them.
Got rid of the _PR3_COMPATIBLE_ stuff - we definitely don't need that :)
Refactored the code a bit - moved the identical parts of the three
DeleteReplicant() variants into a separate method _DeleteReplicant(),
moved _rep_data_ code out of the class definition, replaced names like
"fView2" and "aBool" with something more meaningful.
Prefixed private methods with '_'.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 00:43:52 +00:00
Axel Dörfler 4da171eff7 CalcFrame() no longer returns the maximum frame, but the one that should be
used.
Changed CalcFrame() so that it tries to find the best on-screen location - works
already, though it might have to be improved.
Moved ScreenLocation() so that it's close to CalcFrame(). Changed the position
for B_ITEMS_IN_COLUMNS a bit (they now appear one pixel lower).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13470 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 23:14:01 +00:00
Axel Dörfler 5c228514df Made the border line darker for B_BORDERED_WINDOW_LOOK - menus look much better now
(but should still have their own look that includes the bevel, I think).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13469 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 23:10:08 +00:00
Axel Dörfler 34597b9215 Moved WindowInfo.h from private/app to private/interface.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13464 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 20:33:13 +00:00
Axel Dörfler 34ce0e42d4 As it turns out, window_info::type is really the window's "feel".
Basic support for the desktop window feel: WinBorder will now resize
a window with kDesktopWindowFeel to span over the whole screen.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13462 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 20:28:40 +00:00
Axel Dörfler 2b1246d968 Renamed AS_WINDOW_TITLE to AS_SET_WINDOW_TITLE.
Fixed handling in ServerWindow as stippi's latest commit broke it.
It's now properly done with a separate ServerWindow::SetTitle() method,
that will also take care to rename the window's thread.
Changed naming the window thread in the app_server to "w:<team>:<title>".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13461 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 19:20:19 +00:00
Axel Dörfler 4902831aca Fixed the newly introduced hang when a menu item was selected (which was only one
of the consequences): a forgotten rootLayer->Lock()...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13458 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 18:46:59 +00:00
Axel Dörfler 0bb8508592 Stippi's commit accidently changed the initial screen size.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 18:38:12 +00:00
Axel Dörfler 0f8af9d8cb Removed extra version of find_directory() - it is supposed to live in libroot.so,
and in fact, already does it for quite some time :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13456 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 18:21:50 +00:00
Axel Dörfler 6a0a0a80da Implemented AS_GET_WINDOW_LIST and AS_GET_WINDOW_INFO.
Renamed Desktop::FindWinBorderByServerWindowTokenAndTeamID() to FindWinBorderByClientToken().
Every ServerWindow now gets a server token.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13455 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 18:14:24 +00:00
Axel Dörfler d76e154b8b Implemented get_token_list() and get_window_info() client side.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13453 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 17:30:54 +00:00
Axel Dörfler ef571f678c Cleanup. Added BTokenSpace::GetList(), though it's probably not needed after all
(we can still remove it later if needed).
Added B_SERVER_TOKEN type.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13451 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 17:22:35 +00:00
Axel Dörfler f4b64fa6c8 GetToken() did not check for the correct token type.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 14:46:59 +00:00
Axel Dörfler a84bd95ff7 Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13442 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 14:32:08 +00:00
Axel Dörfler dfb4e6ff47 Fixed DrawBitmapAsync() rectangle variants.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13441 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 14:01:47 +00:00
Axel Dörfler 7da4596065 Removed execute property from source files.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13440 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 13:36:47 +00:00
Axel Dörfler 410e0ccdf7 Removed incorrectly set execute property.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 03:47:08 +00:00
Axel Dörfler 149a5ffcba Fixed build for target haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13435 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 03:46:42 +00:00
Axel Dörfler 06fe6a428c The _menu_info_ptr_ is now initialized correctly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13434 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 01:42:56 +00:00
Axel Dörfler f5d8fa6e60 AS_LAYER_GET_CLIP_REGION missed a Flush() in case the view was not hidden,
and that put apps that used it to sleep (for example, Tracker is using it).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 01:19:01 +00:00
Axel Dörfler b1e04bcb5c The app_server now also quits fast in case there are no apps to quit... :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13432 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 01:02:32 +00:00
Axel Dörfler ae8de5211d Fixed an obvious bug in _checksum_() that isn't triggered by its current use:
"temp" was added to "sum" in the loop, so that some int8 values were taken
into account more than once.
Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13431 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 00:59:27 +00:00
Axel Dörfler b1e14283b4 The stream was reused later, so it was a dumb idea to not include the
magic in it (it was written twice then, later).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13430 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 00:57:33 +00:00
Axel Dörfler 749a772b97 Accidently broke BMessage::_SendFlattenedMessage() with the last commit;
the magic is not part of the header anymore when read from a stream (because
BDataIO does not support seeking, and we need to know the magic before actually
reading the header).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 00:03:18 +00:00
Axel Dörfler dc9e836b35 *Very* basic read-only Dano/Zeta message support. Only briefly tested.
Not really suited for message sending/retrieval (because target stuff is
missing), but should work more or less with disk based messages.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13428 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-04 21:41:41 +00:00
Axel Dörfler bc1a7f9f09 Now prints out a message when the window title should be set.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13392 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-01 18:29:20 +00:00
Axel Dörfler 41c719936b Fixed SetLook() (is not implemented server-side, though).
Finally got the thread rename code right under R5 8-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13391 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-01 18:26:18 +00:00
Axel Dörfler 1b36d9d743 The TEST_MODE and non-TEST_MODE code is now the same, only the modifiers/keys
are different. Therefore, workspace changes should work on real hardware as
well now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13387 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-01 11:22:58 +00:00
Axel Dörfler 0a7d4d9991 Moved the move-window-on-screen code into PulseWindow::MoveOnScreen().
When you change the appearance during runtime, the screen location is
now checked again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13386 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-01 11:03:43 +00:00
Axel Dörfler c030c6fa68 As the comment says, deleting the cursor is not necessary.
But since every single cursor is owned by a team - why the cursor manager?
I must overlook something...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13385 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-01 10:13:50 +00:00
Axel Dörfler 3870c9f18f Improved quit mechanism (for the last time): if an application had open
windows that wouldn't quit on demand, the app_server would have gotten
the kShutdownServer message anyway already (as the last app was quit).
Since that one removed things like gDesktop/gBitmapManager, it liked
crashing.
Now, there is a semaphore that will be send to each app on quit. Only
when this semaphore can be acquired, the shutdown message will be sent.
Removed unused semaphores (decorator, active app).
Replaced fAppListLock with a BLocker (just calling acquire_sem() without
error checking is very unsafe in userland, and should never be done).

BTW the bug was triggered by broken menu code that only sometimes
really quit the window; it leaves a whole lot of zombies around - Stefano,
any quick idea? :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-01 10:09:11 +00:00
Axel Dörfler 37fa302a92 Also commented some unimplemented message handler to not break the reply mechanism.
The ServerWindow did not even have such a mechanism anyway... (it now has).
Minor cleanup, replaced some "delete" with "delete[]" where appropriate.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13382 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-01 08:50:45 +00:00
Axel Dörfler 1e1b96cdc1 Rather than a "case message: /* unimplemented */ break;", we should not
handle the case at all to give the server the possibility to send a
failure response - ifdef'd some code out.
Added comment to ServerApp::PingTarget(), because what it currently does
does not make any sense.
Minor cleanup (replaced fSignature.String() with Signature()).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13381 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-01 08:48:51 +00:00
Axel Dörfler 1786706696 You're not supposed to delete bitmaps yourself; you have to let the
bitmap manager do the job.
This fixes a possible crashing bug on quit, a giant memory hole, and
probably also a possible crash during runtime.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13380 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-01 08:10:42 +00:00
Axel Dörfler 5712a788a1 WorkspacesLayer now makes use of DisplayDriver::ConstrainClippingRegion() in
order to flicker less (which works, but it's not really that nice yet, as
it currently only works for the background).
The workspaces layer is now also invalidated if a new window appears on the
screen or goes away (also when this happens in another workspace).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13379 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-01 07:58:22 +00:00
Axel Dörfler 24a146d4f6 Small hack to get to know the code a bit better.
A view-only workspaces window support (with lots of drawing flicker) - this
means you see what happens in the workspaces, but it doesn't do anything if
you click on it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13378 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-01 06:53:07 +00:00
Axel Dörfler 86fa5942b1 Added a LinkReceiver::Code() method, that can be used to retrieve the
code of the current message.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13377 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-01 06:50:09 +00:00
Axel Dörfler f598d348b1 A window thread is now called "w:<title>" instead of just "<title>".
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13376 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-01 06:44:39 +00:00
Axel Dörfler 0160c6fbda Fixed minor drawing problem of the on-screen KDL: in NO_CLEAN mode, the first two
lines would be left untouched instead of cleared before use.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13375 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-01 06:42:07 +00:00
Axel Dörfler b7a96f02fd Now fills in system_info::cpu_infos[] (ie. CPU activity) by looking at the active
time of the idle thread. IOW Pulse now works :-)
Renamed the idle thread/stack to start with 1 instead of 0 (first idle thread will
be called "idle thread 1").
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13373 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-01 00:31:38 +00:00
Axel Dörfler e970b839a0 Disabled B_USER_CLONEABLE_AREA for now - maybe this should be handled via kernel settings later.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13372 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-30 23:14:13 +00:00
Axel Dörfler 8bc4973900 Some cleanup and bug fixes: the length of the bits in BBitmap::SetBits()
was way too much, new[] was used, but not delete[].
The font size is now adapted to the processor/vendor strings, looking
much better now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-30 23:05:55 +00:00
Axel Dörfler 793b31c5fd Fixed BView::SetFontSize() - only the internal font state was changed,
no one told the app_server about it (ie. StringWidth() would work
correctly, but the app_server would ignore the font size).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13370 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-30 23:02:34 +00:00
Axel Dörfler 0b2dbe7d46 Someone wrote the argument parsing code that may set argv[i] to NULL...
Patch submitted by Philipp Schmid.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13369 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-30 20:42:35 +00:00
Axel Dörfler 1a3f15e929 Doh, it's Team Monitor - not Task Manager :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-30 17:46:34 +00:00
Axel Dörfler c0614f3291 Ported r13366 back from the R5 BFS to the Haiku BFS: fixed bad bug in the journaling
code, the super block log data could have been wrong. Moved the doubly linked list
code to the kernel's util/DoublyLinkedList.h.
Also removed Journal::fCurrent, as it's not really used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13367 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-30 16:38:37 +00:00
Axel Dörfler 2921880701 Fixed a bad bug in the journaling code: set_blocks_info() was called before
the super block was written back. This had a big race condition when all
blocks in the transaction were written back before the super block was
written. In that case, the log info part of the super block got out of
sync and was plain wrong (eventually causing the disk to be unmountable).
Also moved the list code over to the kernel's DoublyLinkedList.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13366 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-30 16:23:56 +00:00
Axel Dörfler 597aa5f24d No longer draws any lines over the thumb area in B_BLOCK_THUMB mode.
It's now completely flicker-free in that mode, all known drawing bugs are gone.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13358 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-29 23:08:57 +00:00
Axel Dörfler 9b030c1d2d Looks like I'm on a run: forgot to commit Jamfile :/
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13357 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-29 23:05:05 +00:00
Axel Dörfler 6355993de9 No wonder I had to remove the grist to make it build.... :-)
Thanks John!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-29 22:35:04 +00:00
Axel Dörfler a66e28b1ff B_BLOCK_THUMB style actually deletes the background, so it's safe to exclude
its region when clearing the background in Draw().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13352 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-29 15:53:46 +00:00
Axel Dörfler 6f54957024 The bar background was still drawing over some border lines which could cause flickering.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13351 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-29 15:46:16 +00:00
Axel Dörfler 39b86d2a8e The SliderTest now also uses our own BControl, as that doesn't invalidate the
whole frame in SetValue().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13350 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-29 15:28:41 +00:00
Axel Dörfler d2f968ec96 Fixed build of ideinfo, moved it into its own subdirectory.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-29 15:14:08 +00:00
Axel Dörfler f8f63bc7eb Buidl fix, courtesy of John Drinkwater.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13348 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-29 14:57:29 +00:00
Axel Dörfler 002af7f9c0 Fixed build of usb_hid, partially by John Drinkwater.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13347 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-29 14:52:47 +00:00
Axel Dörfler ce98205af5 Build fixes, mostly by John Drinkwater - looks like he's cleaning up behind me :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-29 14:48:13 +00:00
Axel Dörfler 7af7a22216 Fixed the remaining drawing bugs the test app revealed.
The block thumb frame is now left out when the bar background is filled
which reduces flicker.
Also, the background fill draw over the region occupied with the border
lines which also caused flicker.
The border lines still draw over the thumb area, and thus, may cause
noticeable flicker there when moving it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-29 13:03:58 +00:00
Axel Dörfler 09196077b8 This fixes some of the drawing bugs; those were only visible under BeOS, though (both R5 + Dano).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13344 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-29 12:26:17 +00:00
Axel Dörfler c280e11b89 The update region for B_VERTICAL orientation is different; it now
also works correctly when fUseFillColor is used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13343 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-29 02:20:12 +00:00
Axel Dörfler a00fcbcdf8 Improved BSlider class:
- rewrote GetPreferredSize(), it now actually works correctly
- BSlider is certainly not supposed to resize itself on creation
- fixed BarFrame() and ThumbFrame() to support a different view frame
  than the ideal one
- added SetBarThickness() support
- refactored constraining the mouse point to _ConstrainPoint() - it's
  now used by MouseDown() and MouseMoved() - because of that, tracking
  now works with vertical sliders as well
- still has some drawing problems, but less
- _ReservedSlider4() was defined public for the R5 build
Cleanup, more or less rewrote the header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13342 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-29 02:12:42 +00:00
Axel Dörfler d40d872486 Extended test app a bit, added R5 version to the build for comparison.
Seems like Be's slider doesn't work that well for B_VERTICAL orientation either.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13341 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-29 02:08:13 +00:00
Axel Dörfler f269841c3b Added a BSlider test application - our BSlider class needs definitely some work :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13340 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-29 00:23:12 +00:00
Axel Dörfler ef79db4f7c Doh, two times in a row... forgot to update ViewAux.h.
Changes from BView refactoring.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-29 00:22:01 +00:00
Axel Dörfler 33bff18326 Removed obviously accidently set execute property from source files.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 23:38:36 +00:00
Axel Dörfler 900a549127 Only overrides BSlider::DrawBar() if compiled for BeOS (would look okay under R5, too, though).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13337 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 23:29:04 +00:00
Axel Dörfler 1d0f02b4ac Fixed some drawing problems (only visible when fUseFillColor was used, or
when DrawBar() was overridden).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 23:24:27 +00:00
Axel Dörfler b7596f59ec AS_LAYER_GET_STATE no longer sends stuff that doesn't belong to the layer's state.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13335 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 23:03:28 +00:00
Axel Dörfler bb1336b44f Some refactoring and cleanup:
- renamed some members and methods to fit our style guide
- moved removeSelf() to RemoveSelf() (as those two are essentially
  the same), and fixed it on the way: the state of the child views
  is now also updated by the new _UpdateStateForRemove() method
- Moved BWindow::sendPulse() and activateView() to BView::_Pulse()
  and BView::_Activate()
- some minor stuff

This also fixes the broken previous commit - I forgot to update
View.h; this update contains the previous changes as well. Sorry
for the inconvenience.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13334 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 23:02:44 +00:00
Axel Dörfler 3783821c25 Fixed B_CONTROL_HIGHLIGHT_COLOR/BORDER_COLOR. Changed highlight color from Dano value
to something for R5 (ie. what DiskProbe is using).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13333 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 21:52:32 +00:00
Axel Dörfler a79f112e9b Sorry for the broken last commit.
We can always link against libroot.so, there is no need for this special case.
Also fixed line breaks: please try not to commit DOS line breaks.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13331 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 20:13:24 +00:00
Axel Dörfler 086240f26d The work-around is no longer needed; but since restoring the high
color only is cheaper than a full PushState()/PopState() we'll
continue to use it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13328 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 19:20:03 +00:00
Axel Dörfler 9d8e148146 Fixed BView::LeftTop() - it certainly shouldn't return 0;0 only :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 19:13:00 +00:00
Axel Dörfler 3c336bbe89 The old Jamfile was fine and is certainly able to build AboutHaiku under R5;
reverted last change.
Please, if you intend to build an application for R5, make sure that the build
target platform ($TARGET_PLATFORM) is set correctly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 19:12:15 +00:00
Axel Dörfler 80a230b10e Rewrote the push/pop state and ViewAttr stuff:
- it now seems to work finally correctly
- renamed ViewAttr to ViewState and put it into the BPrivate namespace
- some refactoring (moved some private BView methods to ViewState)
- renamed AS_LAYER_MOVETO/RESIZETO to *_TO (note the underscore)
- exchanged BView::originX/Y with fParentOffset (BPoint)
- divided AS_LAYER_GET_COLORS into separate ones for high/low/view color
- BView::SetPattern() now actually works as expected (ie. updates
  only if necessary)
- exchanged the ViewAttr::flags with ViewState::valid_flags which inverses
  the previous logic (which wasn't even used consistently)
- fState was initialized twice (incorrectly by the ViewAttr constructor,
  and then again correctly by initCachedState()) - now the ViewState
  constructor does the job alone, but correctly
- BView::PushState() no longer resets the state (it did so only locally
  anyway...)
- cleanup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13325 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 18:56:55 +00:00
Axel Dörfler 0c26ddbc29 The MenuBar background is now drawn correctly when selected.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13319 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 15:11:58 +00:00
Axel Dörfler a87826801c Added workaround for current stability problems of the app_server: giant lock,
say hello to RootLayer.
Adi will probably not like this, but that's definitely only a temporary solution :-)
This little fix greatly increases app_server stability under Haiku - ie. menus
are working now, the team monitor comes up regularly, etc. - how great is that?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13305 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 03:23:16 +00:00
Axel Dörfler 276aa135a7 The size limits are now correctly enforced on window creation, ie. the ResizeLimits
test application now works as it should.
DefaultDecorator::GetSizeLimits() did work correctly, there was no need
to have extra protection limits.
Enabled Stephan's automatic resize code on BWindow::SetSizeLimits() again, and
added a short comment why I think R5's behaviour is just a bug/leftover.
Moved guts of ResizeBy() into _ResizeBy() that doesn't send the update message
to the client, and is now called in the constructor to make sure the border
size is within limits. Also made it work there, as fTopLayer is NULL in that
environment.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13304 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 02:00:48 +00:00
Axel Dörfler d4e2c64c2a Added small app that tests window resizing and size limits.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13303 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 01:54:27 +00:00
Axel Dörfler 85bd83a710 AS_CREATE_WINDOW now also gets the actual frame width and size limits of
the window on server side - ie. if the app_server could not create a
window of the size requested, BWindow::fFrame will still be correct
(and the size limits will mirror actual decorator limits).
Renamed fMinWindHeight and friends to fMinHeight and so on.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13302 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 01:14:39 +00:00
Axel Dörfler 5727f0cfa2 B_WINDOW_RESIZED sends int32 values, not floats.
Made message parsing more robust for a lot of messages.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13301 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 00:58:26 +00:00
Axel Dörfler c17904c587 The B_WINDOW_RESIZED message now looks exactly like it does under R5, ie. has a "when" field, too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13300 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 00:53:41 +00:00