Commit Graph

50671 Commits

Author SHA1 Message Date
Rene Gollent 37b6923b87 RemoteDesktop: Fix x86_64 build. 2014-06-17 18:40:56 -04:00
Ingo Weinhold a852846fc2 HaikuDepot: Update list on installation location package changes
Very dumb implementation (just does a full update). I leave it to the
HaikuDepot hackers to improve it.
2014-06-17 20:32:26 +02:00
Ingo Weinhold 5c9672edeb Add watching support for installation location package changes
Can be requested/stopped via BPackageRoster::{Start,Stop}Watching().
The notification message has the what code B_PACKAGE_UPDATE and contains
fields "event", "location", and "change count".
2014-06-17 20:32:26 +02:00
Ingo Weinhold 3f91ba29d9 package_daemon: Root: Add IsSystemRoot() 2014-06-17 20:32:25 +02:00
Ingo Weinhold b44215c079 BRoster::Private::SendTo(): Actually support NULL reply
Unlike documented passing a NULL reply would just fail instead of
sending the message without waiting for a reply.
2014-06-17 20:32:25 +02:00
Ingo Weinhold 820dbc01ce BTransactionIssue: String improvements 2014-06-17 20:32:25 +02:00
Adrien Destugues e96676ab5a Try opening URLs with the preferred app
We already did this when the URL was entered in the address bar, now
also do it when it comes from a link in a webpage.

Makes mailto links work and fixes #6236.
2014-06-17 12:58:33 +02:00
Adrien Destugues 69631a6a05 More tweaks to the notification window looks
The color stripe for error and important notifications is now 3 pixel
wide only. We still need a better choice of colors here.
2014-06-17 08:25:24 +02:00
Rene Gollent 94aa0c624b Debugger: Fix #10764 (again).
- When terminating TeamWindow, if InspectorWindow is still active,
  ensure that it's also quit at that point. Otherwise, it was
  possible for the inspector window to receive the quit message from
  the main application's shutdown process after TeamDebugger had
  already been terminated, leading to a crash when the window tried to
  release its current memory block, since the block manager had
  already been destroyed by that point.
2014-06-16 23:34:04 -04:00
Rene Gollent dee948553c Debugger: Rework report generation.
Rather than trying to buffer the entire report in memory and write
it in a single shot, write it incrementally as the data is gathered.

Fixes an issue reported by Diver with generating crash reports for
apps that had crashed due to an infinite recursion stack overflow.
2014-06-16 23:21:12 -04:00
Oliver Tappe e6d5152f7e Make all directories overridable by environment. 2014-06-16 21:01:40 +02:00
Humdinger 6229115bac More small C++11 tweaks. 2014-06-16 19:34:56 +02:00
Humdinger 991dadd632 Make sure there's a space in front of B_UTF8_ELLIPSIS.
As PulkoMandy said in hrev47388: C++11 safe and reads better.
2014-06-16 17:55:34 +02:00
Adrien Destugues 2860fecc80 Truncate absurdly long bookmark names.
Fixes #9593.

The complete name could be stored inside the file or as an additional
attribute, but do we really need it? The bookmark menu will truncate it
even further, anyway.
2014-06-16 17:05:42 +02:00
Adrien Destugues 2b103ca8be Enable TLS support in gcc.
Since hrev47198 we have ELF-based TLS support in Haiku. When building
gcc with haikuporter, this is detected by the configure script, but when
cross compiling gcc we need to manually enable it, as no runtime check
can be performed to detect the feature.

This should fix #10938 by avoiding the mix of TLS and non-TLS libstdc++.
2014-06-16 15:19:11 +02:00
Adrien Destugues eb503978b7 Add space between string and ellipsis.
C++11 safe and reads better.
2014-06-16 14:24:10 +02:00
Adrien Destugues 362940cf89 BMP sniffing: check more bytes
* Check that the two high-order byte of the DIB header size are 0 (the
largest known size according to wikipedia is 124 bytes).
* This avoids identifying any text file that starts with "BM" as a BMP
file.

Fixes #10912.
2014-06-16 13:15:47 +02:00
Adrien Destugues 1ff6e7a80f More correct label for the save page menu item
Use "Save page as…" since the item will open a save panel.
2014-06-16 12:47:33 +02:00
Adrien Destugues da802e25b7 Style fix. 2014-06-16 11:14:59 +02:00
Ingo Weinhold eb718e31d2 Terminal: Handle SIGCHLD in a dedicated thread
Block SIGCHLD in all threads and spawn a dedicated thread that handles
the signal in a loop (via sigwait()). This avoids the issue that the
SIGCHLD could be handled in any of our threads and thus possibly
interrupt a syscall.

Fixes #10941.
2014-06-16 11:08:56 +02:00
Adrien Destugues 6563b11264 Add menu entry to save pages as MHTML.
Fixes #9570.
2014-06-16 10:12:50 +02:00
Adrien Destugues 9b738c321b don't notify when a finished download is removed.
* Actually stop the download when the target file is deleted
* Check the download state before sending a notification or changing the
progress bar color.

Fixes #10907.
2014-06-16 09:18:28 +02:00
Adrien Destugues 4f88977f9a Add a first test for BDateTime.
* We need to write more of those.
2014-06-16 08:49:36 +02:00
Adrien Destugues dbd4f8c46b SetTime_t: Use the sign-fixed modulo we computed
* In C++03 and earlier, the sign of the modulo result is implementation
defined (this was fixed in C++11).
* Setting a negative time is not what we want here, so make sure we use
the proper value.
2014-06-16 08:46:56 +02:00
Adrien Destugues 20929296c9 Add RemoteDesktop to the image.
There are some rough edges, but this can be useful and deserves more
exposure.
2014-06-16 08:16:53 +02:00
Rene Gollent b36d838eb0 Debugger: Fix x86_gcc2 build. 2014-06-15 12:55:46 -04:00
Ingo Weinhold f9f8a8f56e pkgman: Update some user messages 2014-06-15 17:21:02 +02:00
Ingo Weinhold 0b57c6338b BTransactionIssue::ToString(): Fix some strings 2014-06-15 17:21:02 +02:00
Ingo Weinhold f2f19f110d BPackageManager: Support installing/updating local package files
* The Install() and Update() versions that take a const char* array
  now check whether a string looks like a path to a local package file.
  If so, they use that file instead of interpreting the string as a
  search string.
* Extend the repository hierarchy. There's now a LocalRepository base
  class from which InstalledRepository and the new MiscLocalRepository
  derive. The latter is instantiated once and collects all package files
  specified by path.
2014-06-15 17:21:01 +02:00
Ingo Weinhold ea761a10d4 pkgman: Print issues from committing the transaction 2014-06-15 17:21:01 +02:00
Ingo Weinhold eee422752c BPackageManager: Make BCommitTransactionResult available
* BFatalErrorException: Add commitTransactionResult property and
  respective constructor. In case committing the transaction failed,
  BPackageManager throws a BFatalErrorException with the result.
* BFatalErrorException::UserInteractionHandler: Pass
  BCommitTransactionResult to ProgressTransactionCommitted().
2014-06-15 17:21:01 +02:00
Ingo Weinhold 0de3219e33 package daemon: Rework error and issue propagation to client
* BDaemonClient: Move inner class BCommitTransactionResult to top level
  and make it public.
* BCommitTransactionResult:
  - Add a whole bunch of specific error code enum values. Such an error
    code is now the primary error, as opposed to before where we would
    mix status_t and enum value errors. There's a systemError property
    of type status_t which may provide additional information, though
    (depending on the primary error type).
  - Remove the errorMessage property. Due to mapping all errors to the
    specific error codes this is no longer necessary. Mixing such a
    message with another error description is also not very helpful when
    it comes to localization (still not supported, though).
  - Add several properties (paths, strings, error codes) that serve as
    arguments to the primary error and are used by FullErrorMessage().
  - Add issues property, a list of instances of new class
    BTransactionIssue. Those describe non-critical issues (e.g. failed
    update of a settings file) that occurred in the process of
    committing the transaction. Those issues should be presented to the
    user by the package management program.
* Exception: Adjust to transport the BCommitTransactionResult
  properties.
* CommitTransactionHandler, FsTransactions, Root, Volume: Adjust to
  BCommitTransactionResult/Exception changes.
* CommitTransactionHandler: Now requires a BCommitTransactionResult to
  which it adds the issues it encounters. The reply BMessage is no
  longer needed, though.
* Volume: Refactor common code from the three methods that use
  CommitTransactionHandler into new method _CommitTransaction.
2014-06-15 17:21:01 +02:00
Ingo Weinhold 6077cad882 BEntryOperationEngineBase::Entry: Add debug methods
Add GetPathOrName() and PathOrName() methods which try to get some kind
of usable path or at least a file name for the entry. Useful mainly for
debugging and error reporting cases.
2014-06-15 17:21:00 +02:00
Ingo Weinhold 9680cf0bce BEntryOperationEngineBase::Entry: Add node_ref+path c'tor 2014-06-15 17:21:00 +02:00
Rene Gollent d44d8207a8 Debugger: Finish handling of missing debug information.
Add a listener interface for LoadImageDebugInfoJob that allows it to request
user assistance based on its current state. Adjust callers to pass in said
listener accordingly.

Implement the aforementioned listener interface in TeamDebugger, and use the
loading state handler roster to find the appropriate handler / handle the request.

This implements most of what's needed for #10138, the main piece still missing
is for the dwarf handler to detect whether the image in question comes from a package,
and if so, to offer to install the corresponding debug information package rather than
locating the file manually, assuming such a package exists.
2014-06-15 11:03:24 -04:00
Rene Gollent 331511009c Debugger: Start adding the groundwork for load state handlers.
Adds abstract class ImageDebugLoadingStateHandler which simply contains two
hooks, which allow one to a) ask it if it supports a handling a particular
type of loading state, and b) if so, ask it to attempt to handle that case,
given the passed in user interface object.

Also adds implementing subclass for DwarfImageDebugInfo, currently
intended primarily to handle the case of missing external debug information.
At present, this just supports prompting the user to find/install the file,
but eventually this will be extended to also support automatically installing
the corresponding debug information package, if applicable.

Finally, adds ImageDebugLoadingStateHandlerRoster, which acts as a front end
for matching up a given loading state with the appropriate handler.
2014-06-15 11:03:23 -04:00
Rene Gollent d9e97187f5 Debugger: Add file prompt hook to UserInterface.
In some circumstances, it may be necessary to ask the user to locate a file
from the lower layers. Adds the corresponding hook to UserInterface, and a
stub implementation for CommandLineUserInterface.

Adds full implementation for GraphicalUserInterface.
2014-06-15 11:03:22 -04:00
Rene Gollent 7cab832956 Debugger: Add support for suspending LoadImageDebugInfoJob.
DwarfFile:
- Loading is now split into two steps, the first of which simply attempts to
verify the presence of debug information. If the latter is referenced
externally, but cannot be found on disk, the corresponding file reference is
returned.

TeamDebugInfo:
- Add state parameter to LoadImageDebugInfo(). Use it to preserve where we
are in the specific info loading loop if necessary.

SpecificTeamDebugInfo:
- Add parameter to CreateImageDebugInfo() to allow passing in a state object
and adjust implementing subclasses accordingly.

DwarfTeamDebugInfo:
- Preserve and/or pass down DwarfFile's loading state as needed.

DwarfManager:
- When attempting to load a DwarfFile, detect the case where external debug
  information is referenced, but could not be located. If so, preserve the
  relevant details in the loading state, so the user can be notified and
  asked to find it accordingly.

LoadImageDebugInfoJob:
- Keep a state object for the progress of the current loading job. If a
  particular image fails due to needing user input, suspend ourselves
  until such input has been provided.
2014-06-15 10:59:14 -04:00
Rene Gollent a262768084 Debugger: Add classes for representing image loading state.
Adds a hierarchy of classes for preserving the loading state information for
a LoadImageDebugInfoJob. These include:
	- ImageDebugInfoLoadingState:
		Top level class that simply stores a reference for  the specific info
		state that we're currently attempting to load.

	- SpecificImageDebugInfoLoadingState:
		Abstract base class representing state information specific to a
		particular kind of debug information.

	- DwarfImageDebugInfoLoadingState:
		Implementation of the above for the case of DWARF.

	- DwarfFileLoadingState:
		Encapsulates the in-progress loading state of a DWARF file for the case
		where a file's debug information is referenced externally, but cannot
		be found.
2014-06-15 10:59:13 -04:00
Rene Gollent 4605febacf Debugger: Add/handle new suspend state for jobs.
- In addition to waiting for one or more dependent jobs to complete,
a job can now potentially wait for user input to proceed further. Add
a corresponding job_wait_status and respective handling in Worker.
2014-06-15 10:59:13 -04:00
PulkoMandy 004f41565e Apply fix suggested by Ingo
* Fix mixup of HAIKU_IMAGE vs HAIKU_IMAGE_NAME
* Use $(1) and $(2) instead of $(<) and $(>)
* Remove useless count parameter to dd
2014-06-15 14:59:01 +02:00
John Scipione 0546bdd5e5 Tracker: code simplication to hrev47374
We don't need to create a BNode from a BDirectory because BDirectory derives
from BNode! So use the BDirectory we already have as a BNode and get the
node_ref from it so we can pass it into WatchNode().

Sorry for the noise.
2014-06-14 21:19:42 -04:00
Cedric Degea 076cb5a752 BOptionPopUp: check for non-NULL Message(). Fixes #10733
Signed-off-by: John Scipione <jscipione@gmail.com>
2014-06-14 20:50:10 -04:00
John Scipione 1f17f750db Tracker: Use BPathFinder to find add-ons 2014-06-14 20:48:15 -04:00
John Scipione 6cf062b93d Tracker: Style fixes to DeskWindow 2014-06-14 16:21:05 -04:00
Jessica Hamilton 00922c9989 Tracker: fix accidental logic inversion. Fixes #10940. 2014-06-15 05:30:21 +12:00
Hamish Morrison b1d2b9ab6a openjdk: add x86 secondary architecture package for x86_gcc2 2014-06-14 15:24:12 +01:00
autonielx bdd9f04c00 Update translations from Pootle 2014-06-14 06:16:26 +02:00
John Scipione a407032259 build system: Add SoundRecorder to Deskbar
... in the "regular" image definition. Fixes #10932
2014-06-13 19:27:54 -04:00
John Scipione e70b99da6a build system: Replace tab wtih space 2014-06-13 19:25:55 -04:00