Most in particular llevents.h, which comes along with
the demand that the old events in llevent.h are put
in a namespace LLOldEvents. Made all changes necessary
to compile the rest of the code again (without changing
the actual code: it's still using the old events).
This patch also removes LLStopWhenHandled and LLStandardSignal
from indra/llui/llnotifications.h because those are
moved to llevents.h. That seems to be the only change
to indra/llui/llnotifications.h that isn't floater related,
so I left the rest of that file alone.
This makes the class API a bit more sane, although
only a bit, because I had to leave it working with
possibly new code merged in from LL: the API can't
really change. I also removed some unused code.
While reviewing how LLFrameTimer worked however,
I did find a few instances where things where broken:
* sFrameDeltaTime wasn't correctly updated (more
than once per frame and therefore erratic). This
only influenced scrolling speed, but still.
* While dragging an inventory item, the scroll
arrows of a tab container didn't work
(LLTabContainer::handleDragAndDrop).
* Map zoom interpolation was broken (it interpolated
between A and B, but used the already updated
interpolation for A the next frame...
(added mCurZoomValInterpolationStart).
This patch has no influence if you don't have libcwd installed.
Note that libcwd (http://libcwd.sourceforge.net/) is only
available for linux.
A default compile of libcwd does memory allocation tracking,
which is too slow for everyday usage of the viewer (usable,
but notably slower) and we don't need that. Configure your
libcwd as follows:
./configure --prefix=/sl/usr --disable-alloc --enable-optimize
Or whatever prefix you prefer (add --enable-maintainer-mode
if you're compiling it from the SVN repository), add
--disable-nonthreading to compile twice as fast.
If you have it installed you can activate it's use by setting a
few environment variables:
CXXFLAGS="$(pkg-config --cflags libcwd_r)"
LDFLAGS="$(pkg-config --libs libcwd_r) -lpthread"
and then reconfiguring the viewer.
The -lpthread is needed when using ld.gold, however, if you
leave it out you might get an LDFLAGS that ends on trailing
whitespaces, which doesn't work for some reason.
Also, if you installed it in a non-standard place (/sl/usr
above) then you need this to run the viewer (and tests):
export LD_LIBRARY_PATH="/sl/usr/lib"
Fixed by updating indra/cmake/WebKitLibPlugin.cmake with
version from imprudence.
This commit also contains removal of execute permissions
of source files and configure files, sorry...