Commit Graph
3040 Commits
Author SHA1 Message Date
Ingo Weinhold c1c0c22091 * In the BMessage assignment operator we do now clear some of the message
header flags after copying the header of the original message. Before
  cloning a message that still needed a reply would result in the clone
  also needing a reply, which, in the end, led to two replies being sent,
  thus screwing up the cached reply ports used for synchronous messaging.
  Fixes bug #1008.
  BTW, also clearing the reply info breaks Tracker and Deskbar, so I suppose
  R5 keeps it and Tracker and Deskbar rely on that behavior.

* Added a bit of debug code removing and printing spurious messages from a
  cached reply port.

* Added TODO in BMessage::~BMessage(). ATM, we only send a B_NO_REPLY in the
  destructor, but not in case the message is overwritten using the
  assignment operator or Flatten().



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-05 16:04:46 +00:00
Axel Dörfler 815c38625d Applied patch by Vasilis Kaoutsis:
* replaced new[] with malloc()/realloc() where appropriate - since we're messing with
  the bits anyway, this makes the code slightly faster.
* however, we might want to throw some std::bad_alloc exceptions to deal correctly with
  low memory situations.
* cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20065 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-04 13:32:36 +00:00
Waldemar Kornewald 234554ce4b Fixed BScreen::SetMode() to use the current workspace when none is given.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20053 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 17:47:01 +00:00
Axel Dörfler f55ffadf96 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 12:44:51 +00:00
Waldemar Kornewald f6a62205d3 Fixed comment style. :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 08:22:02 +00:00
Waldemar Kornewald f70737c108 Fixed (*crossing fingers* :) the probably most complicated deadlock in Haiku's history...Axel, am I exaggerating? :)
I've tested it and it seems to work. Could someone else please confirm that everything still works well?

Hmm, I'm still wondering why Axel took the time to suggest a possible solution to me instead of fixing it himself. There must be a catch. ;)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20036 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-01 22:32:16 +00:00
Axel Dörfler f6c0820638 * The BHandler observer mechanism was completely broken in Haiku for remote targets;
this fixes bug #1005. As a result, the Disks icon will now appear in file panels
  when you change that setting with a panel open.
* _ObserverList is now in the BPrivate namespace (and renamed to ObserverList).
* its BHandler map is now only temporarily used for handlers that do not belong to
  a looper yet; when BHandler::SendNotices() is called, they will be transferred
  into the BMessenger map.
* Invalid messengers are now removed from the map when encountered.
* Added TODO comments about a possible reference counting if a handler is added
  twice to a list (right now, this will be ignored).
* All {Start|Stop}Watching() methods are now more or less safe to be used in low
  memory situations (adding some items to the map can still throw an exception...).
* Renamed BHandler::InitData() to _InitData().
* Some refactoring and cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-01 16:08:01 +00:00
Ingo Weinhold 5df726a403 Fixed infinite recursion. Discovered by Ryan.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20027 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-01 08:21:44 +00:00
Ryan Leavengood e3e76a3af9 Added convenience methods to allow a group or grid layout's insets to be set
while it is being built.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20026 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-31 20:30:20 +00:00
Waldemar Kornewald e327ea521a This should fix absolute scrolling when clicking on an area covered by the thumb.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20022 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-30 20:22:24 +00:00
Axel Dörfler f91bf83feb We must not wait for the reply of the registrar - this fixes a deadlock between
the registrar and the app_server.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-29 22:40:29 +00:00
Axel Dörfler 6af9dcbfe5 Another cleanup patch by Vasilis Kaoutsis - thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-28 21:35:08 +00:00
Axel Dörfler 087882c26e * Rewrote headers as necessary; only Errors.h and Debug.h still originate from a Be header now;
feel free to change that ;-)
* Cleaned up existing headers.
* Coding style guide update to BBufferIO (renamed m_* members to f*).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 16:36:29 +00:00
Axel Dörfler 9dbe170a69 Implemented direct message passing for local targets; this fixes a deadlock
with PostMessage() in case the message queue is full.
Some notes:
* for synchronous replies, we don't use this mechanism yet, but it could be
  extended to do that as well.
* the code looks so complicated because we need a way to access the looper's
  queue without locking it (to prevent deadlocks); like Dano's solution, I've
  abused BTokenSpace to store a BDirectMessageTarget with a BHandler.
* we also need to decouple the lifetime of a looper's queue from its target,
  as we cannot lock the looper, and therefore, can't guarantee it stays valid
  as long as we're accessing it outside of BLooper.
* init_clipboard() now needs to be done after the global constructors have
  been called - since sending messages now needs gDefaultTokens to be initialized.
  Since this is done per image, it shouldn't cause any troubles, though.
* some minor cleanup, removed unused _msg_cache_cleanup_() and friends.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19968 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 13:59:56 +00:00
Axel Dörfler c01f349e6d Cleanup:
* Got rid of unused BLooper members
* renamed fTaskID to fThread
* Removed private and deprecated AddLooper()/RemoveLooper()/... stuff; BLooper is now
  directly calling BLooperList methods.
* Got rid of extensive and useless comments
* Made a few TODOs more clear
* Merged InitData() and InitData(...) to _InitData(...)
* BLooper::Team() now uses BPrivate::current_team(), sTeamID is gone now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 12:42:18 +00:00
Axel Dörfler aa33d0a928 Got rid of the looper ID stuff - it seems nowhere to be used.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 12:11:33 +00:00
Axel Dörfler 88df8322a9 Optimized current_team() - it now uses a static variable to hold the team ID.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19964 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 12:05:10 +00:00
Axel Dörfler ca9b91886d * Added a Dano extension to BMessageQueue: IsNextMessage().
* BLooper::AddMessage() is now using this method to determine wether or not to
  update its looper thread.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19956 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-25 17:08:16 +00:00
Axel Dörfler 4686f4f716 A little oversight made all icons white on BeOS. This fixes bug #990.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19953 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-25 12:09:01 +00:00
Ryan Leavengood 5f5d917ad1 Your wish is my command: now only removable read-only volumes have their
desktops integrated in Tracker.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19947 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-24 19:29:46 +00:00
Stefano Ceccherini b30e7f31c1 Use BTextView::Copy/FreeRunArray() instead of memcpy() and free()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-24 06:11:12 +00:00
Stefano Ceccherini 1a64df767e BTextView::FreeRunArray() now accepts a NULL pointer too (like free())
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19937 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-24 06:02:58 +00:00
DarkWyrm 355260f73b Removed non-boot desktop integration checkbox.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19934 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-23 23:48:54 +00:00
Axel Dörfler 15e334974b Calling ResizeToPreferred() on a BBox now honours its current size, IOW it won't get
any smaller due to this (before, a box without a label would resize itself to 0/0).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-23 17:27:32 +00:00
François Revol f9c52afd6a Remove old usb kit fro Be in favor of the new rewritten one. At least we have one now :D
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19918 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-23 17:14:35 +00:00
François Revol 9b84f25119 The original (sample code version) USB Kit from Be, as from ftp.be.com/samples/usb_kit/usbkit_99-03-23.tgz
Some files renamed. Won't build yet with our usb_raw driver due to different namings. classes need to be B-prefixed anyway. USBKit.h needs to be split like in zeta as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-22 15:59:44 +00:00
Axel Dörfler 61b44b9345 Fixed a bug introduced by DarkWyrm: he obviously missed that there are two locations
where you have to set the default value of a setting.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-21 21:02:45 +00:00
DarkWyrm 2395270daa Label tweaks as agreed upon on list
"List folders first" and "Show Full Path" default to on now


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19895 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-21 20:50:14 +00:00
Axel Dörfler 9353267722 fs_unmount_volume() gets a path to the mount point, not the (eventual) device
behind the mount point; BPartition::Unmount() would never unmount a volume.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-21 18:44:20 +00:00
Axel Dörfler 83dd342c4a * Implemented the AutoMounter for Haiku - it's barely tested at this point, but
at least mounting/unmounting seems to work. This fixes bug #191.
* Also changed the way how Tracker automatically mounts/unmounts volumes: it now
  only differentiates between removable and fixed storage, not between initial
  scan at boot, and periodical scans during runtime. Also removed all HFS stuff.
* Got rid of _INCLUDES_CLASS_DEVICE_MAP for the BeOS build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19893 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-21 18:03:47 +00:00
Axel Dörfler eaac07392a * Fixed build under R5/Dano that was broken since Stippi added vector icon support.
* Separated Haiku's icon stuff a bit better, so that Tracker can still be built
  without having Haiku headers around.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-19 23:16:41 +00:00
Axel Dörfler 6486616423 * To get away with that empty mount menu, it now at least shows all mounted and
mountable volumes - there are no icons yet, and it will also not work at all,
  that is, you cannot mount/unmount any volumes yet.
* Got rid of _INCLUDES_CLASS_DEVICE_MAP in MountMenu.cpp.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19870 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-19 23:01:42 +00:00
Marcus Overhagen 2313ae7997 Modified SetValue to do nothing when the value is already set.
This seems also be done it BeOS R5 and does remove the constant 
flickering in the MediaPlayer slider.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19868 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-19 22:32:35 +00:00
Axel Dörfler a803529b13 As Marcus noticed, some icons were gone after my last change; in fact no icons
were shown for all files without an own icon, and without one from its MIME type.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-19 20:59:37 +00:00
Axel Dörfler e30afed439 As per Ingo's request, I moved calling BRoster::Private::UpdateActiveApp() into
the app_server (and updated all comments that said otherwise).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19865 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-19 16:41:58 +00:00
Axel Dörfler c2f641f2e5 Turns out the whole "active app" mechanism in the registrar wasn't used at all; the
Switcher now works as expected.
* Renamed TRoster::ActivateApp() to UpdateActiveApp(), as the app is already activated
  at that point (the registrar only keeps track of it).
* BWindow::DispatchMessage() now calls the new BRoster::Private::UpdateActiveApp()
  method when it receives a B_WINDOW_ACTIVATED message.
* Added BRoster::_UpdateActiveApp() which calls the new B_REG_UPDATE_ACTIVE_APP.
* Removed now unused B_REG_ACTIVATE_APP.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19857 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-18 17:45:08 +00:00
Axel Dörfler badbad99a9 Messed up logic last time - the cursor should now work as expected again in BTextView.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19856 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-18 16:04:01 +00:00
Axel Dörfler 6c3692dc87 Turns out our pulse mechanism was broken; we need to honour the rate set by
SetPulseRate() even if it is 0. BView::_Attach() and BView::SetFlags() now
just set the previous pulse rate again (which will start pulsing in case
there is no fPulseRunner yet).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-17 21:26:54 +00:00
Axel Dörfler 2a720453e1 One step closer to the Switcher - still doesn't work, though, but at least the
BWindow code looks okay now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-17 19:38:58 +00:00
Axel Dörfler 849de6ef97 Added another GetStyledText() function to force a specific encoding.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-17 12:04:02 +00:00
Axel Dörfler ac0ff19664 While investigating why our UTF-16 files are broken (with a smaller output buffer),
I noticed that "state" was never set, but as expected this doesn't help at all:
we just can't use iconv() this way, I'll open a bug for this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-17 11:18:33 +00:00
Axel Dörfler 4ea89ce5c8 Looks like Be and Andrew mixed up UCS-2 and UTF-16; I added the UTF-16 conversion as well
now (which has a marker at the beginning of the file, unlike UCS-2).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-17 11:08:39 +00:00
Axel Dörfler 8acdd17f08 Added WriteStyledEditFile() variant that gets an encoding argument; it will automatically
encode the text in the BTextView accordingly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-17 09:10:16 +00:00
Axel Dörfler 450a5aea22 * GetStyledText() is now much more forgiving when it comes to corrupted data
(ie. if the text file is cut off, it will no longer return an error, but
  load as much as possible).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19831 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-16 20:50:56 +00:00
Axel Dörfler 8cddf19132 Tracker now prefers an icon coming directly from the MIME type over one specified
by the application - as FileTypes already did.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-16 17:36:16 +00:00
Stefano Ceccherini 68fb266820 get rid of the now useless trackTime parameter
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-16 15:22:31 +00:00
Stefano Ceccherini ebd1a3a130 some more work on menus... fixed bug #953 and some more stuff
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-16 14:43:01 +00:00
Stefano Ceccherini ee144512ec use Invalidate() and UpdateIfNeeded() in BTextView::SetTextRect(). Fixes bug #571
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-16 09:04:14 +00:00
Stefano Ceccherini 1e634f4d9c Actually use B_COLOR_SELECTION_TEXT when drawing. Patch by Andrea Anzani
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19823 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-16 08:36:35 +00:00
Axel Dörfler 235a50037c accept() and bind() now accept NULL address parameters in the R5 compatibility mode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-15 13:07:09 +00:00