Commit Graph

48358 Commits

Author SHA1 Message Date
John Scipione
d34a680c04 Screen Saver: fix race condition
Start the screensaver in the window thread instead of the runner
thread so that there is no lock contention for the window lock in
the runner thread when the saver starts.

The view that gets drawn into is assumed to have been prepared before
being passed to the runner thread, and this assumption has been made
true for the screensaver preview and screen_blanker apps.

Eliminate fHasStarted and the corresponding HasStarted() method in
ScreenSaverRunner as they are no longer needed.

Drawing still happens in the runner thread, and still needs to lock
the window thread potentially causing contention, yet, there
is a timeout here so the contention won't freeze the screensaver window,
only delay drawing the screensaver.

Drawing could be moved to the window thread via message passing to avoid
lock contention with the window but this would defeat a big part of the
purpose of having a separate rendering thread.

This fixes #10125 and #4260
2013-11-14 23:30:26 -05:00
John Scipione
60c0a74844 ScreenSaver, small code simplication.
kMsgSaverSelected is the already the invokation message
2013-11-14 23:30:24 -05:00
John Scipione
0f1162d27e ScreenSaver: Make sure password window is shown
… before resuming the saver on B_KEY_DOWN in the message filter.

It was assumed before, now we’re actually checking to make sure.
2013-11-14 23:30:22 -05:00
John Scipione
be888b3a49 PreviewView: Add SaverView() method 2013-11-14 23:30:20 -05:00
John Scipione
390e3154c2 ScreenSaver PreviewView code cleanup.
Eliminate Constants.h, set View color and low color black initially

Move AddPreview and Remove Preview to bottom
2013-11-14 23:30:18 -05:00
John Scipione
5d023095c2 ScreenSaverRunner: Suspend() and Resume() return status_t 2013-11-14 23:30:13 -05:00
John Scipione
e22c01af03 Screen Saver: style fixes 2013-11-14 23:30:10 -05:00
John Scipione
e11db35d48 Flurry Screen Saver: style fixes, correct Jamfile 2013-11-14 23:30:07 -05:00
Oliver Tappe
da854e342f Update 'jam help' output. 2013-11-15 00:34:01 +01:00
Oliver Tappe
8c040b5b35 Publish updated perl, python, git, mercurial and scons packages.
* perl and python now support vendor-folders for modules and use correct
  (i.e. writable) site-folders
* git, mercurial and scons have been adjusted to put their perl/python
  modules into respective vendor-modules folders
2013-11-14 23:53:02 +01:00
Oliver Tappe
49b970d9c2 Reintroduce jam rule for creating remote repository for testing.
* 'jam build-remote-test-repository' can now be used to create a
  remote repository which will then be used by the build system,
  such that the resulting package set can be tested.
2013-11-14 23:48:56 +01:00
Jérôme Duval
4320349447 power_daemon: added lid_monitor.
Thanks Rene!
2013-11-14 07:42:33 +01:00
Oliver Tappe
8e72745123 Fix behaviour of 'package_repo update':
* Instead of copying over the repository info from the source 
  repository, we need to read the repository info from a repository 
  info file corresponding to the target repository. Among other 
  problems, copying over the repository info from the source repo 
  put the wrong repository URL into the new repository, which in
  turn caused the package resolution done by Haiku's build system to
  fail (it tried to download packages from the wrong URL).
Additionally, I have updated the incorrect repository on the server, so
building Haiku-x86 should work again.
2013-11-14 01:52:29 +01:00
Jérôme Duval
c9db30cd7f power_daemon: use wait_for_objects() instead of polling.
* acpi_button and acpi_lid support select/deselect hooks.
* power_daemon now uses a thread waiting for lid or power button events.
* a power button event is still hardcoded to a shutdown.
* a lid event only displays a message.
2013-11-14 00:33:50 +01:00
Jérôme Duval
28fd553722 power_daemon: code cleanup, added copyright header. 2013-11-14 00:33:48 +01:00
Rene Gollent
ab3b931b14 Add gcc4 BePDF and LibLayout packages.
Contributed by Chris Roberts. Thanks!
2013-11-13 16:38:12 -05:00
Ingo Weinhold
2b269f2e47 unlock_memory_etc(): Fix address space reference leak
unlock_memory_etc() is supposed to release the address space reference
lock_memory_etc() acquired. It didn't do that, though.
2013-11-13 01:47:36 +01:00
Ingo Weinhold
93fb0ff056 vm: lock_memory_etc(): Fix error case
In case something went wrong, call unlock_memory_etc() with the rounded
base address instead of with the original address. If the original
address wasn't page aligned, unlock_memory_etc() would otherwise try to
unlock an additional page.
2013-11-13 01:47:35 +01:00
Ingo Weinhold
5328a58455 AddNewDriversToHaikuImage rule: Support alwaysUpdate flag
* Support alwaysUpdate flag in AddFilesToContainer.
* Add flags arguments to AddNewDriversTo{Container,HaikuImage} and
  support alwaysUpdate flag.
2013-11-13 01:47:35 +01:00
Rene Gollent
58114b3476 HaikuDepot: Fix #10115.
- Also reset package state in the BFatalErrorException case.

- Show actual alerts for fatal install/uninstall errors rather than simply
  printing them to the console.
2013-11-12 18:14:26 -05:00
John Scipione
7192a9313e Add documenation for BPopUpMenu class 2013-11-11 19:28:04 -05:00
John Scipione
6f33360fac BPopUpMenu style fixes for documentation, no functional change intended 2013-11-11 19:27:45 -05:00
John Scipione
24be9ac7fd Update SetRadioMode() method to descibe radio mode 2013-11-11 19:27:13 -05:00
Ingo Weinhold
104c0688da dir_vnode_to_path(): Fix uninitialized status variable 2013-11-11 23:04:09 +01:00
Ingo Weinhold
26aef3ac62 ext2: Fix enabling/disabling the file cache
* Inode:
  - Rename {Enable,Disable}FileCache() to {Create,Delete}FileCache()
    and IsFileCacheDisabled() to HasFileCache(), since that is what they
    actually do. DeleteFileCache() now also sets the attributes to NULL,
    which makes fCached superfluous.
  - Introduce {Enable,Disable}FileCache(), which actually enable/disable
    the file cache. Use those methods for handling O_NOCACHE.
* ext2_free_cookie(): Reenable the file cache in case of O_NOCACHE.

Fixes crash when O_NOCACHE was used, since the file cache was deleted
without clearing the attribute and Inode::ReadAt() would use the deleted
object afterward.
2013-11-11 22:27:54 +01:00
Ingo Weinhold
05826ec74b ext2_get_file_map(): Fix broken termination condition 2013-11-11 22:27:54 +01:00
Ingo Weinhold
fd91d2cbe1 ext2: ExtentStream::FindBlock(): Restructure/fix
* The binary search was somewhat broken.
* Restructure a bit so that only the binary/linear search itself is
  handled separately. The handling afterwards is common again.
* Fix sparse block handling:
  - There can be sparse blocks before the first extend.
  - Set the return parameter _count in this case as well.
  - Set the return parameter block to 0 instead of 0xffffffff. That's
    what ext2_get_file_map() expects.

Fixes an infinite loop in ext2_get_file_map() when sparse blocks are
involved, due to previously returning a wrong block and a 0 count.
Ticket #9274 may be related.
2013-11-11 22:27:54 +01:00
Ingo Weinhold
24d0e21f51 do_iterative_fd_io_iterate(): Support sparse files
* Check whether the vectors we get are sparse file vectors and satisfy
  them immediately instead of creating a subrequest. Untested, since the
  API isn't used by ext2 as it should be.
* Add error == B_OK to the condition of the outer loop.
2013-11-11 22:27:53 +01:00
Ingo Weinhold
9f7e78ee79 IORequest::Init(): Assert offset >= 0
Just to make sure we catch sparse file vectors that shouldn't be passed
here.
2013-11-11 22:27:53 +01:00
Ingo Weinhold
c63b3de665 IORequest: Add ClearData() 2013-11-11 22:27:53 +01:00
Ingo Weinhold
426fe7db1d IORequest::_CopyData(): Small optimization
If we're running in the context of the user team the I/O buffer belongs
to, we can use _CopySimple() as well.
2013-11-11 22:27:53 +01:00
Ingo Weinhold
07f6506eb6 VFS: Fix broken zero_pages()
Besides that it failed to actually iterate through the vectors, it
shouldn't try to clear physical memory in the first place. The iovecs
refer to virtual address ranges. Rename it to zero_iovecs() to avoid
confusion.
2013-11-11 22:27:52 +01:00
Ingo Weinhold
e5f6591382 VM: vm_memset_physical(): Correct length parameter type 2013-11-11 22:27:52 +01:00
Jérôme Duval
81fd469dcf iprowifi4965: fixed firmware filename for iwn6000g2afw.
see #10197
2013-11-11 22:09:46 +01:00
Jérôme Duval
4377c66f87 acpi_lid and acpi_ac: moved init to the driver hooks.
* notification handlers are now called correctly.
2013-11-11 19:38:38 +01:00
Jérôme Duval
847ab5a734 acpi: EcGpeHandler() should return ACPI_REENABLE_GPE.
* this clears the GPE if level triggered and possibly enables the GPE.
See AcpiEvFinishGpe() and AcpiEvGpeDispatch().
2013-11-11 18:59:38 +01:00
Jérôme Duval
e94bffa072 vm: allocate wrappers on the heap with small stack array fallback
see comments on #10169. Thanks Ingo for reviewing!
2013-11-11 18:34:14 +01:00
Ingo Weinhold
c93efdb37f Keymap preflet: Sort the lists 2013-11-11 01:07:58 +01:00
Rene Gollent
1c56f25236 HaikuDepot: Fix #10189.
- Move InstallPackageAction's _FindPackageByName to PackageAction, so
UninstallPackageAction can make use of it as well.

- Rename DownloadProgressListener to PackageProgressListener and add
hooks for the package manager's DownloadProgressComplete,
StartApplyingChanges and ApplyingChangesDone events.

- InstallPackageAction implements DownloadProgressComplete in order to
gather all dependent packages that were downloaded as part of the
installation request. These are then set to active, or reset to available
depending on the outcome. Fixes the problem reported in #10189.

- UninstallPackageAction now implements the aforementioned ApplyingChanges
hooks in order to track all packages to be uninstalled as part of the
transaction. Upon completion, they are all accordingly marked as Available.
Previously the state wasn't correctly reset for any dependent packages that
were also removed as a consequence of the requested package's removal.
2013-11-10 18:44:40 -05:00
Murai Takashi
b781fcec00 GridLayout.cpp: use delete[] instead of delete. Fixes #9875.
Signed-off-by: Matt Madia <mattmadia@gmail.com>
2013-11-10 18:37:33 -05:00
Murai Takashi
3b49d99436 Use delete[] instead of delete. Fixes #9985.
Signed-off-by: Matt Madia <mattmadia@gmail.com>
2013-11-10 18:35:43 -05:00
Murai Takashi
9e0f440c1c Fix mismatching allocation and deallocation
Fixes #9901.

Signed-off-by: Matt Madia <mattmadia@gmail.com>
2013-11-10 18:33:35 -05:00
Murai Takashi
5750cec747 Fix memory leak for threeDaysAgoMenu
Fixes #9938.

Signed-off-by: Matt Madia <mattmadia@gmail.com>
2013-11-10 18:30:30 -05:00
Matt Madia
ade6fe2e93 Adjust array length.
As per Axel: The "+1" is not needed; B_FILE_NAME_LENGTH already includes the
terminating null byte.
2013-11-10 18:26:32 -05:00
Murai Takashi
c801b51ce8 Fix size argument is greater than the length of the destination buffer
Signed-off-by: Matt Madia <mattmadia@gmail.com>
2013-11-10 18:25:58 -05:00
Murai Takashi
c347a4d4d4 Fix called C++ object pointer is null
Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
2013-11-10 23:44:12 +01:00
Olivier Coursière
be6d2f97cd libroot: Accept NULL for the resolved_name argument of realpath()
as specified in IEEE Std 1003.1, 2013 Edition, see
http://pubs.opengroup.org/onlinepubs/9699919799/functions/realpath.html

In this case, the returned buffer is allocated with realpath() and can be
deallocated by the caller with free().
The behavior was only "implementation defined" in previous revisions like
IEEE Std 1003.1, 2004 Edition, see
http://pubs.opengroup.org/onlinepubs/000095399/functions/realpath.html

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
2013-11-10 23:26:18 +01:00
Matt Madia
1bb144a926 Automatic whitespace cleanup. No functional change. 2013-11-10 17:15:34 -05:00
Humdinger
3c527b719f /boot/home/Desktop/Untitled 2013-11-10 19:15:29 +01:00
Przemysław Buczkowski
dfbb97132f Notifications: fix issue with launch folder. #10185
* App tried to create symlink in folder ~/config/boot/launch,
what throw an error, because this folder is read-only now.
    * Now it creates such in ~/config/settings/boot/launch.

Signed-off-by: Matt Madia <mattmadia@gmail.com>
2013-11-10 12:31:30 -05:00