Commit Graph

57857 Commits

Author SHA1 Message Date
Julian Harnath
39f49f7033 HaikuDepot: speed up package change handling
* During package population, when the repository is being
  refreshed, thousands of package change messages arrive
  in MainWindow while the PackageInfo fields are filled with
  data.

  Every such message caused a full generation of a package
  list (including applying filters to all known packages),
  which is quite slow, and caused the freezing from bug
  #13823. The list was only used temporarily to figure out
  if the package should be visible now or not.

* Instead of generating a new package list, we now only
  match the single updated PackageInfo against the current
  filters.

* Fixes #13823

* To reduce CPU usage even more, it would be better to not
  generate at all, or not subscribe to, package changes while the
  list is being initially populated, and/or to coalesce all the
  changes to each package info into one update message (instead
  of one for title, one for prominence, etc).
  Deferring subscription requires some additional thought on when
  to subscribe then, and how to avoid leaving a "hole" where
  changes would go unnoticed.
2017-12-26 17:31:59 +00:00
Augustin Cavalier
95c9effd68 Migrate the BMailComponent docs to the Haiku Book.
I've updated the docs to match the current BMailComponent, documented
new functions, and cleaned up the MailComponent.h file to at least
somewhat match our coding style.

First in a series (there are 3 more old API docs on the Mail Kit in that
"Public API" folder.)
2017-12-25 19:43:51 -05:00
Augustin Cavalier
cba277f2f9 docs/apps/mail: Extract the "Writing Add-ons" guide and convert to markdown.
I guess it was at one point in Be Styled Text format, but it didn't
extract that way for me, so I had to manually recreate the styling...
2017-12-25 17:15:21 -05:00
Augustin Cavalier
6602e4b755 hey: Delete old documentation.
Superseded by Humdinger's blog post, and the Hey tutorial
from the BeOS Bible.
2017-12-25 17:15:20 -05:00
Augustin Cavalier
ca087b0532 build/libgnuregex: Remove.
It was needed on macOS for a time when BUrl used regexes for parsing.
Now it does not, and so we can remove libshared's RegExp from build
libshared, and thus also libgnuregex.
2017-12-24 12:27:47 -05:00
Augustin Cavalier
0d4fd77ef9 Magnify: Fix build on GCC5 (-Wambiguous-else). 2017-12-24 12:23:50 -05:00
Augustin Cavalier
726fb6c441 notification_server: Fix x86_64 build (missing parentheses). 2017-12-24 12:04:26 -05:00
Adrien Destugues
ab75d3b5a8 Do not advertise libavdevice in ffmpeg build feature.
It is not actually used by our ffmpeg plugin.
2017-12-24 16:39:23 +01:00
Owen
0278976dd5 magnify: make it controllable by scripting
scripting properties:
* Info, Grid, and Stick (true/false)
* CopyImage
* MakeSquare
* Zoom (1-100)

Decreasing pixel size from the menu will half the size
until it's less than 32.

fixes #13884

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2017-12-24 12:05:09 +01:00
ohnx
d2f5cd017c WebPositive: Improve CookieWindow cookie deletion
Fixes Coverity issue CID 1340122.
Also resolves two TODO items in the code: allowing the deletion
of a selection of cookies, and deleting all cookies from a site
when there are no specific cookies selected.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2017-12-24 12:04:21 +01:00
Hrishi Hiraskar
226f6c8bf1 Notification_Server: Added ability to choose position of notifications
The feature gives user ability to choose the position of notifications
out of Follow Deskbar, Lower Right, Lower Left, Upper Right and Upper
Left. Fixes #9749 - Notification_Server: add the ability to choose the
position of notifications (easy).

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2017-12-24 12:02:38 +01:00
Automatic Committer
e229bf70b8 Update translations from Pootle 2017-12-23 07:32:05 +01:00
Automatic Committer
80e42f9c84 Update pci.ids from pciids.sourceforge.net 2017-12-21 05:20:13 +01:00
Augustin Cavalier
d3b7157201 docs/develop: Remove obsolete "net" documents.
They've been "obsolete" since 2006, so they must be extra-obsolete
by now :-)
2017-12-20 20:42:57 -05:00
Augustin Cavalier
e7b5f0a6f7 docs/ikteam: Delete most files.
The Interface Kit is long since "99% functional", so lists of modules
with what's-implemented-what's-not are not really helpful anymore.

The one (rather lengthy) file describing the unit testing system
set up by the IKTeam is indeed useful, so keep that.
2017-12-20 20:28:57 -05:00
Augustin Cavalier
c42868a015 docs: Remove old "Mail Preferences" documentation.
Actually based on old BeOS documentation and long surpassed by
the Haiku User Guide.
2017-12-20 20:11:40 -05:00
Augustin Cavalier
6c179d73ad Icon Guidelines: Delete from tree, they live in the "website" repo now.
Previously when we used Drupal, the icon guidelines there "shadowed"
the ones in this tree. Now that the git-based website reigns supreme,
we should not keep two copies around. I've chosen to preserve
the one in the website repository and trash this one because the icon
guidelines primarily target artists, not programmers (as just about
all other docs in this directory do.)
2017-12-20 20:09:55 -05:00
Augustin Cavalier
add916a765 Restore the "GPL licensing not permitted" in GLUT license headers.
It was originally there but was removed erroneously. The emails in which
we received permission to relicense stated this restriction explicitly.
2017-12-20 19:35:55 -05:00
Augustin Cavalier
04c3bd6cf1 Team: Defer adding the team to parent and hash until just before starting.
Previously I had intended to take the simpler route and just lock the
already-inserted team before setting the io_context (as in prior commits),
but after hearing some reports from users that some other seemingly
unrelated KDLs had possibly cleared up after the first iteration of
that fix, I decided to go with this route instead.

Now we do not insert the team into the parent and hash and send the
notification until just before the team's main thread is actually started;
i.e. we now initialize not only io_context but also the team's args, VM
address space, and user data (and if creation of any of these fails
we do not inset the team into the hash at all.)

Since the team structure was not locked at all while this initialization
was taking place, any number of race-dependent bugs could have been
caused by this on multicore systems.
2017-12-19 22:47:31 -05:00
Augustin Cavalier
4ecdf1e195 team: Only lock while actually setting io_context, not while creating it.
Thanks Ingo for the review!
2017-12-19 20:51:01 -05:00
Andrew Lindesay
d483b4d0b5 HaikuDepot : More Backend Communications Improvements
Fixes for x86_64 build (tests)
2017-12-20 00:14:37 +01:00
Andrew Lindesay
1065ea343d HaikuDepot : More Backend Communications Improvements
Fixes for x86_64 build (additional)
2017-12-19 23:26:21 +01:00
Andrew Lindesay
29f98e1f33 HaikuDepot : More Backend Communications Improvements
Fixes for x86_64 build.
2017-12-19 22:47:04 +01:00
Andrew Lindesay
0df6decf1b HaikuDepot : More Backend Communications Improvements
Added missing files from prior commit.
2017-12-19 21:50:31 +01:00
Adrien Destugues
197c659920 libnetwork: re-introduce gethostbyname_r and gethostbyaddr_r
These are needed by existing openjdk package. Let's keep them until we
get the OpenJDK build working again and can remove the requirement.
2017-12-19 21:22:14 +01:00
Andrew Lindesay
3094fef308 HaikuDepot : More Backend Communications Improvements
* Further improves the logging and provides some
  basic performance numbers.
* Moves the bulk-load logic out of the data-model
  class.
* Introduces a state-machine for the bulk-load
  process so that it will be more easily able to be
  shifted to non-blocking IO when the HTTP libraries
  can do that.
* Implements concurrent loading of the bulk-data to
  hopefully improve lead time for icons and meta-data.
* Loads data to a temporary file and then moves to the
  final location in order to avoid partially written
  data in the cache.
* Handles situations where no network is available;
  prevents attempt to access the network.
* Allows bulk-load processes to be cancelled when the
  application quits.
* Introduces command-line arguments to help simulate
  scenarios to help with testing performance and
  network absence.
* Implements ordered insert and binary search in the
  'List' class + basic unit test.
2017-12-19 20:56:53 +01:00
Augustin Cavalier
11b65332b4 kernel/team: Lock the team while modifying the io_context.
Second part of the fix for #13861. Thanks Ingo for the review!
2017-12-17 22:27:44 -05:00
Augustin Cavalier
019828aba7 VFS: Add proper locking of the team structure in disconnect_mount_or_vnode_fds.
The KDL in #13861 was apparently caused by a NULL io_context. I read over
the Team code and have applied the following fixes here as a result:

  1. A NULL io_context is entirely possible, as implied by the NULL check
     before deinitializing it in Team's destructor, so account for that.

  2. Team objects have a class-wide lock which must be acquired before
     directly accessing class members, so use that here.

First part of the fix for #13861.
2017-12-17 22:27:44 -05:00
Augustin Cavalier
2c2516b9b6 libhaikucompat: Delete.
Was decoupled from the build since the switch to use libroot_build
even on Haiku.
2017-12-18 18:06:12 -05:00
Augustin Cavalier
0be0fba248 BHttpForm: Clang also uses pair<> now. 2017-12-18 17:58:04 -05:00
Augustin Cavalier
439d2cb806 3rdparty: Delete useless cppcheck script. 2017-12-17 17:52:01 -05:00
Augustin Cavalier
a128e43004 calloc_test: Apply correct version.
Sorry for the noise...
2017-12-17 17:51:12 -05:00
ohnx
3934b3e6cc Add tests for calloc()
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
2017-12-17 17:02:47 -05:00
Mason X
8a4744fbe4 Catch integer overflow in calloc (Fixes #13820)
calloc, when multiplying to find the true size of memory desired
by a user, will occasionally overflow if the numbers are too
large. This commit makes calloc ensure that the multiplication
does not overflow by dividing the result by one of the numbers,
and checking to ensure that the result is equal to the other
number. If there is overflow, it is treated as an OOM error.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
2017-12-17 17:02:09 -05:00
Augustin Cavalier
bfc37fd122 libroot/posix/stdio: Remove unused portions.
We use glibc's versions of these functions.
2017-12-17 13:55:13 -05:00
Augustin Cavalier
cfafb3da99 rmd160: Remove from tree.
Not used or referenced anywhere.
2017-12-17 13:08:10 -05:00
Augustin Cavalier
3d44a8b6f4 zic: Remove from tree.
Not referenced anywhere or included in the build.
2017-12-17 13:08:10 -05:00
Kacper Kasper
ffd80a755d Add EXR image to MIME DB. 2017-12-17 17:57:55 +01:00
Kacper Kasper
9a3c78bc4d Enable Werror for EXRTranslator. 2017-12-17 17:57:54 +01:00
Kacper Kasper
b875d6d43b Outsource OpenEXR.
* Style fixes in EXRTranslator.
2017-12-17 17:57:53 +01:00
Augustin Cavalier
19b9099b98 HaikuPorts: Bump versions of EXR libraries, again. 2017-12-17 11:13:43 -05:00
Alexander von Gluck IV
11790e14ef kernel/drivers: Kill Beceem WiMAX driver. RIP
I wrote this back in 2010 as my first driver project.

Reasons to remove it:
  * The license is GPL
  * Current WiMAX hardware is generally WIFI based.
  * It controlled the hardware, but never worked
    for network access since we need SSL certs and stuff
    which vendors weren't too open with.
  * WiMAX kind of died (at least in the US)

I left the wwan directory, it would be a nice spot
for CDMA / GSM dongle drivers.
2017-12-17 09:18:15 -06:00
Alexander von Gluck IV
46f7052c65 3rdparty/licenseReport: Add seperate LGPL checks 2017-12-17 09:08:41 -06:00
Augustin Cavalier
d144f95270 HaikuDepot: Add "Check for updates" item in Tools menu to open SoftwareUpdater. 2017-12-16 13:50:13 -05:00
Augustin Cavalier
77de2e81a1 Repositories: Remove default repository URL constants.
Since automatic updates are enabled by default, these will already
be in the system repository settings.
2017-12-16 13:08:09 -05:00
Augustin Cavalier
8ea8a648f8 repository_infos: Enable automatic updates on the main Haiku repostiory.
Fixes #13868.
2017-12-16 13:01:58 -05:00
Leorize
0006cc3fbf libs/bsd: add explicit_bzero(3)
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
2017-12-16 12:54:58 -05:00
Leorize
3d61d20742 libs/bsd: add be64dec(3) and be64enc(3)
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
2017-12-16 12:54:41 -05:00
Leorize
9a1d046775 libs/bsd: add readpassphrase(3)
Imported from freedesktop libbsd project

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
2017-12-16 12:54:23 -05:00
Augustin Cavalier
6fc4a39b06 build/HaikuPorts: Add OpenEXR so it can be outsourced. 2017-12-16 12:51:18 -05:00