Chris Young
3227ed6556
handle core window mouse buttons
...
todo: support drags
2017-01-01 17:26:55 +00:00
Chris Young
eb1f39fe7d
Process mouse moves and qualifier keys
...
NB: we are doing mouse moves differently by using an IDCMP hook on space.gadget, as this gives us co-ordinates relative to the render area
GID_DRAW object when the window is defined will need tagging ICA_TARGET, ICTARGET_IDCMP
2017-01-01 16:45:27 +00:00
Chris Young
31c08f39be
Basic event loop, only handles keypresses and window closure so far
2017-01-01 14:53:37 +00:00
Chris Young
c40e8197c2
Allow for the prospect of in-window scrollbars
2017-01-01 14:34:04 +00:00
Chris Young
8196f5b602
Basic template for an Amiga core window
...
Drawing and event processing not written yet
2017-01-01 13:28:11 +00:00
Chris Young
86a0f14d0a
Make the documentation reflect reality.
...
ExtMem is enabled by default for now to give it a good workout. Disabled may be a more sensible default.
2016-12-31 14:47:33 +00:00
Chris Young
8af9a8407b
Don't unmap ExtMem immediately as:
...
(a) it is upsetting the gif decoder (although I suspect it is caused by the OS struggling with the excessive remaps)
(b) We are probably going to need to map it back in imminently for display
2016-12-31 14:43:06 +00:00
Chris Young
36b26b861f
Update to test ExtMem on OS4.1FEU1
...
Mostly works, but falls over when there are lots of tiny GIF anims on screen
2016-12-31 14:17:22 +00:00
Chris Young
43bbdc520d
Fix merge error
2016-12-31 14:04:14 +00:00
Chris Young
b7551fec72
NULL iextmem
2016-12-31 14:03:34 +00:00
Chris Young
570212add2
Don't map an extmem area is it is already mapped, just extend the lifetime
2016-12-31 14:03:34 +00:00
Chris Young
adac4d98bb
More logging
2016-12-31 14:03:34 +00:00
Chris Young
982a59744f
Revert "Disable ExtMem in palette-mapped modes"
...
This reverts commit 4db40c3f27d0ade8fc76f57cd383e5ff52ad7c93.
2016-12-31 14:03:33 +00:00
Chris Young
205abcf189
Debug logging
2016-12-31 14:03:33 +00:00
Chris Young
937dce4f2e
Schedule unmapping the extmem object to ensure it releases main memory
2016-12-31 14:03:33 +00:00
Chris Young
493036a920
Documentation
2016-12-31 14:02:40 +00:00
Chris Young
a83afda791
Disable ExtMem in palette-mapped modes
...
Something handling palette mapped images causes a freeze.
2016-12-31 14:01:29 +00:00
Chris Young
0804c43bf1
Allocate uncompressed bitmap data in extended memory.
...
This currently isn't working correctly - it simply freezes at some point after loading the page.
2016-12-31 14:01:29 +00:00
Vincent Sanders
48f868a955
move tree compatability layer to amiga frontend
2016-12-31 01:04:27 +00:00
Chris Young
76673bbf65
add a todo
2016-12-31 00:58:03 +00:00
Chris Young
5e523b608a
Simply the event loop for the shared message port
...
This now simply calls the event callback for each window, which returns TRUE is the window was closed during event processing.
The window loop now restarts if any windows were closed, which fixes a potential rare issue with delayed event processing.
2016-12-31 00:51:05 +00:00
Chris Young
9df30eb78f
Update local history window to use event callback
2016-12-31 00:43:06 +00:00
Chris Young
d8eec1b048
Update print window to use event callback
2016-12-31 00:37:59 +00:00
Chris Young
d9c8d1c70c
Update 401 login window to use event callbacks
2016-12-31 00:30:42 +00:00
Chris Young
d90e82d3f1
Simplify closing of windows on quit
...
If they have a close callback it will be called.
Some windows are attached to browser windows and closed elsewhere without using the callbacks.
2016-12-31 00:14:44 +00:00
Chris Young
4893a9f9af
Update download window to use event callbacks
2016-12-31 00:11:06 +00:00
Chris Young
6ba5edaede
Update GUI options window to use event callback
2016-12-31 00:02:21 +00:00
Chris Young
47379c0444
Update treeviews to use event callback
2016-12-30 13:06:42 +00:00
Chris Young
9379a64c6d
Start tidying up Amiga event-handling code
...
As we used a shared message port, we call different event-handling functions for different window types.
This changes that so we register the event-handler as a callback so we can handle event processing for all windows generically.
Currently the main browser window and find window use the new approach, so the handling still has a long list of window types.
This should also make window_list private to gui.c
2016-12-30 00:59:12 +00:00
Chris Young
9d77dc83bd
Never warn the user about multiple tabs being open when we're in the process of quitting.
2016-12-15 18:23:52 +00:00
Chris Young
f04103398b
Avoid leaking memory when typing
2016-12-11 23:04:13 +00:00
Chris Young
ba0895121b
Ensure we close all opened resources when we early exit
2016-12-11 16:16:11 +00:00
Chris Young
9d694f56bb
Tidy-up init a bit
2016-12-11 16:04:16 +00:00
Chris Young
433418a8e9
Finalise bitmap code last as purging the cache needs it
2016-12-11 15:24:56 +00:00
Chris Young
34a587849c
Move as much closedown as possible into gui_quit
2016-12-11 15:18:08 +00:00
Chris Young
68e8152f3e
Ensure OpenURL list is always freed
2016-12-07 00:00:54 +00:00
Chris Young
8f9a652774
Revert "Ensure we free the pen list memory"
...
This reverts commit 74d7c2d2c2
.
2016-12-06 23:58:47 +00:00
Chris Young
ecf2fdf612
Free the correct memory pointer
2016-12-06 23:39:46 +00:00
Chris Young
74d7c2d2c2
Ensure we free the pen list memory
2016-12-06 23:39:04 +00:00
Chris Young
a440907b78
Fix memory leak
2016-12-06 23:34:24 +00:00
Chris Young
c0a15de1e4
Ensure pool init returns non-NULL so it isn't treated as an error.
2016-12-06 23:23:01 +00:00
Chris Young
2b6a416970
Replace custom itempool functions with malloc/free as clib handles these more efficiently than our pools.
2016-12-06 23:17:40 +00:00
Chris Young
f38b72a583
Avoid potential memory leak
2016-12-06 17:54:58 +00:00
Chris Young
2dd97b0b8e
Fix brokenness caused by recent changes
2016-12-05 23:32:55 +00:00
Chris Young
4b91c43003
Add missing nsoption_finalise
2016-12-05 23:08:17 +00:00
Chris Young
2fe884be65
Fix memory leak searching for resources
2016-12-05 20:30:48 +00:00
Chris Young
71afaacc80
Fix last tab title not being freed
2016-12-05 20:22:21 +00:00
Chris Young
2a9e89de75
Fix potential memory leak
2016-12-05 19:31:04 +00:00
Chris Young
54e31b65d1
Guard against crashing when opening the splash screen
...
Add extra logging for when things go wrong at this stage
2016-11-28 19:35:15 +00:00
Chris Young
0bc32aa654
Add more clib2 stats
...
JSON formatted data can now be saved with ARexx "SLABSTATS stats.json"
2016-11-27 17:10:03 +00:00
Chris Young
4fb38f574a
AmigaOS low memory handler attempt 2
...
Neither freeing slabs nor purging the cache are safe to call from interrupts, so instead we schedule these to run on NetSurf's process.
If NetSurf is busy, there may be significant delay, so the priority is set low to ensure this is called only when other - faster - memory handlers have been exhausted.
I don't know if this works, or is sane, as I'm not entirely sure how to test it.
Something similar needs adding for OS4 but low memory is less of an issue there, so will see if this works on OS3 first.
2016-11-27 16:25:27 +00:00
Chris Young
a76a36915c
Ensure the memory for the mem-handler interrupt is allocated
2016-11-27 15:36:30 +00:00
Chris Young
c4b8857789
Add low memory handler to purge unused slabs on OS3
...
TODO: find some way to purge NetSurf's memory cache safely from another process
2016-11-27 15:31:18 +00:00
Chris Young
2043223788
Reduce frequency of diskfont open/close
2016-11-27 14:57:32 +00:00
Chris Young
d436992eb2
Reduce slab size to 2K as very few allocations are above that.
2016-11-20 17:16:18 +00:00
Chris Young
5ce3b93457
Get clib2 slab usage
...
Calling ARexx function "SLABSTATS" will dump the current stats to the ns log
2016-11-20 17:12:18 +00:00
Chris Young
17128fd0ad
Move ItemPool compatiblity into the header and rename
2016-11-20 16:30:33 +00:00
Chris Young
eab6c0c99e
remove ami_misc_allocvec_clear
2016-11-19 21:55:15 +00:00
Chris Young
15a6871491
Add missing includes
2016-11-19 21:52:46 +00:00
Chris Young
0513782fe3
Correct revision number
...
I think my note about AmigaOS version numbering was misleading.
2016-11-19 21:44:42 +00:00
Chris Young
05fa29ba8b
more allocvec/malloc changes
2016-11-19 21:40:32 +00:00
Chris Young
4f0c9b6c61
Merge branch 'master' of git://git.netsurf-browser.org/netsurf into chris/malloc
...
Conflicts:
frontends/amiga/icon.c
2016-11-19 21:12:31 +00:00
Chris Young
faf4c1fb60
Free and clear icondata to avoid a potential double-free
2016-11-19 21:10:55 +00:00
Chris Young
2c6f2f4ef5
More allocvec/malloc changes
2016-11-19 21:02:42 +00:00
Chris Young
a8bd2af710
More allocvec/malloc replacements
2016-11-19 20:44:17 +00:00
Chris Young
81a7e0cbe9
Change some AllocVecs to mallocs and FreeVecs to free
...
Need to be careful with ASPrintf
2016-11-19 17:02:18 +00:00
Chris Young
4b1b79582c
Move slab size def into memory.c
2016-11-19 16:12:20 +00:00
Chris Young
6951d2327b
Add memory.c/h
2016-11-19 15:51:24 +00:00
Chris Young
ec239402ea
Move memory functions from misc.c to memory.c
2016-11-19 15:50:22 +00:00
Daniel Silverstone
f8b95e83bb
Official Release
...
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEVAwUAWDBZAMMN9DnymH10AQrJjAf+LD/v5Wmzy0TtB7TK58Kk7T6/M6XDZLyR
a0uyUC5iyGZPnljsds+b6rLl94uM4kDZbATXH2NwZk2BI6Evv8X3ah350XTIciX3
OcaAHb2oajb8ISesvmaUCPZJhB6k9mUhwpuPUSjuQsMB9kevmoz7KOfqYQ6DPxhq
fY5G/goqgNlpkUJUPWyAudzJLqh5xsDpG1VGdOPmhjPp3vodYLqFihy8R9Co4gby
fwcgEL8hI1bnYzsst3JJKJjhlDW/fEgdoScV6lTDp7pZv+VwyNFeKckJAlItwRM0
cXKSViXgxbTDd9r7n+vrP78srVAY6IGiw7/aIS8/DZAMoEbw6gQXOA==
=2eDi
-----END PGP SIGNATURE-----
Merge 3.6 release and prepare 3.7 dev
2016-11-19 13:55:01 +00:00
Daniel Silverstone
75005f9220
Update version.c and amiga version.c
2016-11-19 12:09:51 +00:00
Daniel Silverstone
461cf15308
Bump AmigaOS versions
2016-11-19 12:06:59 +00:00
Chris Young
076e54e1e5
Increase slab size to 8K (recommended size)
2016-11-19 11:21:23 +00:00
Chris Young
67796f2f77
Fix some warnings
2016-11-18 19:33:22 +00:00
Chris Young
c2da6cbd25
Remove setting an env-var to force disable Altivec in libjpeg-turbo
...
a) v1.5.1 has Altivec off by default when built for OS4
b) I've moved my detection code into libjpeg-turbo, so the env-var will now *only* be an override
2016-11-18 18:49:17 +00:00
Chris Young
2a937ae040
Move declaration to ensure ULONG is defined
2016-11-17 19:56:02 +00:00
Chris Young
387fd20393
Enable slab allocator on OS3
...
...if we have a sufficiently new (experimental) version of clib2.
2016-11-17 19:26:08 +00:00
Chris Young
f814edee75
Disable triangle mode for bitmap scaling
...
Potential workaround for #2478
2016-10-23 19:31:43 +01:00
Vincent Sanders
608a18caff
remove junk references to old javascript implementations
2016-09-19 22:02:51 +01:00
Vincent Sanders
c830d14d0b
cleanup seevral doxygen warnings
2016-09-13 09:16:31 +01:00
Chris Young
e0c3e929f5
Correct the function definitions so the ARexx port works on OS3 (untested)
2016-09-10 20:53:17 +01:00
Chris Young
92601c26ae
If NetSurf is already running, ensure when we open a new tab that it becomes active.
...
This matches the behaviour in more mainstream web browsers.
2016-09-10 20:41:07 +01:00
Chris Young
26c568af15
document ACTIVE
2016-09-10 20:38:14 +01:00
Chris Young
1f96c0a413
Add an ACTIVE switch to the OPEN ARexx command to force new tabs to be active
2016-09-10 20:36:11 +01:00
Chris Young
7cbff32f92
Stop passing NSOPTS/M back to the core
...
This is a quick fix to stop NetSurf crashing when the URL is provided on the commandline without the URL keyword.
Passing options on the commandline will not work until this is fixed properly.
2016-09-10 18:37:18 +01:00
Chris Young
e34b783b8d
Scale using "triangle mode" to avoid corruption at the edge of bitmaps
2016-09-10 18:23:44 +01:00
Chris Young
08e88124d7
Attempt to preserve timestamps
2016-09-07 23:12:52 +01:00
Chris Young
7b5639d982
When opening a new blank tab, always switch to it.
2016-09-04 17:35:32 +01:00
Chris Young
239205033c
Only bring the screen to the front if an active tab is being opened via re-launch
2016-09-04 17:17:45 +01:00
Chris Young
cd0ed22494
Bring screen to front when new window/tab is opened be launching NetSurf a second time.
2016-09-04 17:10:59 +01:00
Chris Young
5aa2feaa06
Call CloseLibrary
2016-08-18 00:33:58 +01:00
Chris Young
7543833037
Ensure we don't use a half-opened library if it is optional.
2016-08-18 00:32:33 +01:00
Chris Young
404b522119
Fail if the library interface doesn't open.
...
This will happen when attempting to open old 68k libraries with no separate interface file, but may also occur when the interface name or version doesn't exist (although the library version number _should_ prevent that)
2016-08-18 00:20:08 +01:00
Chris Young
e8e15b9133
Open a new window instead of a tab if we can't locate the window the tab is supposed to be added to.
2016-08-15 18:00:12 +01:00
Chris Young
923cc06f98
Allow a second-run NetSurf to open passed URL in a new tab rather than a new window.
2016-08-15 17:51:01 +01:00
Chris Young
6a3f7a386e
Ensure we are treating LShift/RShift and LAlt/RAlt the same.
2016-08-12 20:32:09 +01:00
Chris Young
0b67394618
Don't attempt to close a public screen we're not the owner of.
...
I've never been entirely clear on what the correct approach here is, but OS4 has a feature where it will auto open/close a public screen for you. In this case, in the microseconds between unlocking that screen and attempting to close it, OS4 has already disposed of the screen and NetSurf has crashed, so we assume the owner will handle the closing instead.
2016-08-11 22:34:46 +01:00
Chris Young
c80551b64b
Fix OS3 build
2016-08-11 18:55:57 +01:00
Chris Young
5f65b1caa7
OS3-related comments
2016-08-11 18:55:43 +01:00
Chris Young
a0d51e5f68
Remove excessive scheduler debug
2016-08-11 18:20:51 +01:00