Commit Graph

559 Commits

Author SHA1 Message Date
Michael Drake
703fd10400 RISC OS: Initialise nsfont before hotlist.
This should allow the treeview to measure the width of label text.
2017-02-12 10:18:02 +00:00
Chris Young
7bc4f46df1 Fix OS3 build 2017-02-11 16:28:49 +00:00
Vincent Sanders
a3a7cbf06a update amiga plot API 2017-02-11 13:57:07 +00:00
Vincent Sanders
320c0e1a75 update windows plotters to new API 2017-02-11 13:57:07 +00:00
Vincent Sanders
386951ecfc update framebuffer to new plotter API 2017-02-11 13:57:07 +00:00
Vincent Sanders
0f43b23270 update monkey plotters to new API 2017-02-11 13:57:07 +00:00
Vincent Sanders
3ea137ca3d update RISC OS plotters to new API 2017-02-11 13:57:07 +00:00
Vincent Sanders
78d601eb76 Update GTK plotters to use new API 2017-02-11 13:57:07 +00:00
Daniel Silverstone
10f1b7a1aa Fix up GTK+ hotlist finalisation to clean up properly 2017-02-05 10:43:58 +00:00
Vincent Sanders
b23f55c81b fix warnings and errors in atari frontend 2017-01-21 16:49:14 +00:00
Vincent Sanders
6075feb487 create netsurf inttypes header to have portable integer formatting macros 2017-01-21 14:20:55 +00:00
Vincent Sanders
11f11e0a7f add missing utils header for NOF_ELEMENTS macro 2017-01-19 22:19:46 +00:00
Vincent Sanders
10248264ff fixup cocoa form select menu includes to get rect type definition 2017-01-19 21:31:12 +00:00
Vincent Sanders
d1246c2061 add missing include of inttypes to atari cookies viewer 2017-01-19 21:30:43 +00:00
Vincent Sanders
70d700b26c rationalise use of utils/utils.h header 2017-01-19 21:15:08 +00:00
Chris Young
a99c7a5c44 remove silly debug 2017-01-16 22:28:02 +00:00
Chris Young
2083375ec4 Perform dynamic update of Hotlist menu when using MenuClass menus
Currently updates on closing the Hotlist window, but could be persuaded to update on every hotlist drag if deemed necessary.
2017-01-16 22:24:05 +00:00
Chris Young
d871be3ea0 Update documentaton 2017-01-15 20:15:10 +00:00
Chris Young
d843f78c20 disable dynamic hotlist menu update
menuclass doesn't appear to be working as advertised
2017-01-15 20:11:31 +00:00
Chris Young
9e814fd0f0 minor menu fixes 2017-01-15 20:01:49 +00:00
Chris Young
b78d6f458e Attempt hotlist menu refresh 2017-01-15 17:51:55 +00:00
Chris Young
b8640956d4 Ignore the other check toggle stuff with menuclass
The one thing we are toggling is actioned immediately when potentially changing the state in the prefs window
2017-01-15 16:13:32 +00:00
Chris Young
8e7603e6a2 Update JS menu check state when prefs option is toggled 2017-01-15 16:10:23 +00:00
Chris Young
606cc0c219 Split up menu.c into generic and gui_window-specific files 2017-01-15 16:05:07 +00:00
Chris Young
52f98c9fb2 Share menuclass object with all browser windows 2017-01-15 14:55:15 +00:00
Chris Young
24fed9d51c Remove excess logging and fix user-added hotlist separator bars 2017-01-15 00:22:37 +00:00
Chris Young
b6f7ea536c Fix MenuClass menu creation 2017-01-14 23:47:00 +00:00
Chris Young
e4d6d9a972 Get selected state with MenuClass compatible abstraction 2017-01-14 21:04:51 +00:00
Chris Young
313aaabdde Replace OnMenu/OffMenu with MenuClass compatible abstraction 2017-01-14 20:51:51 +00:00
Chris Young
9f10babe64 Merge branch 'master' of git://git.netsurf-browser.org/netsurf into chris/menuclass 2017-01-14 19:58:54 +00:00
Vincent Sanders
7dab7cb43d move plot style header to netsurf include directory
move plotter style header and adjust all callers to use only what they
actually require.
2017-01-13 10:03:24 +00:00
Chris Young
0d9023148d Our hook function needs to be in UserData, not PickHook, for window.class reasons. 2017-01-12 18:46:48 +00:00
Chris Young
8ffc2e753b Avoid accessing NULL pointer 2017-01-12 18:32:06 +00:00
Daniel Silverstone
9e03737627 Dave Higton's fix for 'tree' windows not being movable off-screen 2017-01-10 11:23:24 +00:00
Chris Young
439deddba1 Attempt to construct menu using menuclass 2017-01-09 19:06:09 +00:00
Chris Young
4fab8f830b Queue redraws for SimpleRefresh browser windows 2017-01-08 23:10:27 +00:00
Chris Young
c19ea4deaa Support SimpleRefresh corewindows
These queue redraws unlike the main browser window, which seems to work a bit better than redrawing immediately.
2017-01-08 13:59:51 +00:00
Chris Young
05e4463230 Update corewindow scrollbars when user resizes window 2017-01-08 13:21:32 +00:00
Chris Young
074afb43f4 Process in-window scrollbars using IDCMPUPDATE too 2017-01-08 01:55:45 +00:00
Chris Young
3436c097d2 Ensure we free the NM_END menu item 2017-01-08 01:29:50 +00:00
Chris Young
bf3ba5c97b Complete Amiga corewindow implementation and migration from old treeviews
Merge branch 'chris/amiga-corewindow'
2017-01-08 01:09:41 +00:00
Chris Young
ae8959fa8b Remove old tree implementation 2017-01-08 00:40:40 +00:00
Chris Young
d885c79743 remove excessive logging 2017-01-08 00:34:06 +00:00
Chris Young
22e25971ed Working internal and tree-to-browser drags
tree-to-tree drags don't work unless the source supports internal drag moves (so global history to hotlist won't work as it did before)
2017-01-08 00:29:49 +00:00
Chris Young
0f58d92ab6 Dragging works internally
(except it doesn't, as the hotlist window is broken and doesn't respond to the mouse until selecting random menu items)
2017-01-07 18:00:48 +00:00
Chris Young
83840dca49 Possibly slightly less but still definitely broken drag handling 2017-01-07 17:43:45 +00:00
Vincent Sanders
d1693c27c0 fix windows installer generation
the windows installer package generation was not correctly
parameterised which resulted in fetching resources from incorrect
locations. Additionally the clean target was not removing generated
installer output.
2017-01-07 13:28:40 +00:00
Vincent Sanders
9be0f4ccaf fixup usage of directory creation macro in Makefiles 2017-01-07 13:21:25 +00:00
Chris Young
a4bedbbaeb Broken corewindow drag implementation 2017-01-07 00:26:15 +00:00
Chris Young
917a602dce Conversion of Amiga hotlist manager to corewindow 2017-01-06 23:56:52 +00:00
Chris Young
a86f2c8dd3 Migrate global history to corewindow 2017-01-06 18:27:09 +00:00
Chris Young
e98a05bb08 Complete cookie manager corewindow interface 2017-01-05 18:50:38 +00:00
Chris Young
6e957396a9 fix some ui corruption on scrollbar hide 2017-01-03 20:14:41 +00:00
Chris Young
d6f6326ce9 it's not a double-click if the mouse has moved 2017-01-03 20:01:58 +00:00
Chris Young
26b98ac51b template for menu addition in cookie manager 2017-01-03 19:43:55 +00:00
Chris Young
57a2bb8599 Merge branch 'master' of git://git.netsurf-browser.org/netsurf into chris/amiga-corewindow 2017-01-03 19:29:04 +00:00
Chris Young
695783e33b re-structure menu code to make it useable elsewhere in the frontend 2017-01-03 19:27:40 +00:00
Chris Young
2e11f7f3cb less cranky scrollbars 2017-01-03 18:03:43 +00:00
Chris Young
5eb7ee97ed Basic conversion of cookie manager to core window
slightly broken; blank window until resized; scroll bar wrong; no menu
2017-01-03 00:26:00 +00:00
Chris Young
3b1ef784fd Partially implement Amiga core window
Migrate SSL cert window to use core window
Core window implementation has some features missing but is good enough for SSL cert
I will improve it as I migrate the other windows.
2017-01-02 19:18:28 +00:00
Chris Young
2bd8eb8c0b Fix sslcert redraw 2017-01-02 19:16:33 +00:00
Chris Young
64bb74bdaf fix mouse click processing 2017-01-02 18:57:16 +00:00
Chris Young
48e95ad2b3 show/hide scrollbars as required
move the sslcert scrollbars into the window as per the style guide
2017-01-02 18:41:40 +00:00
Vincent Sanders
eb63c1cc50 update default framebuffer font path 2017-01-02 15:28:58 +00:00
Chris Young
0fafa9576e make the window title text common 2017-01-02 15:02:32 +00:00
Chris Young
4892497a19 correct full-window redraw co-ords 2017-01-02 14:55:17 +00:00
Chris Young
4b7abde7b0 ssl cert window should not have a close gadget 2017-01-02 14:50:20 +00:00
Chris Young
98f94c4bf3 move mousemove back to the event loop and ensure the window is created cleared 2017-01-02 14:41:08 +00:00
Chris Young
e7c9b863b3 Take the redraw routine from old tree_redraw with less meddling 2017-01-02 13:47:21 +00:00
Chris Young
a9cc0792a4 migrate sslcert to use corewindow
predictably blank
2017-01-02 12:57:07 +00:00
Michael Drake
a5222b579b Windows: Fix font table to return nserror.
We were returning true on success, which when the return value was
tested for being NSERROR_OK (0), meant it was treated as failure.

Now we correctly return NSERROR_OK on success.
2017-01-02 12:10:14 +00:00
Michael Drake
e3b2f792c0 Framebuffer: Fix internal font table to return nserror.
We were returning true on success, which when the return value was
tested for being NSERROR_OK (0), meant it was treated as failure.

Now we correctly return NSERROR_OK on success.
2017-01-02 12:01:40 +00:00
Michael Drake
24b7fdf438 Framebuffer: Fix freetype font table to return nserror.
We were returning true on success, which when the return value was
tested for being NSERROR_OK (0), meant it was treated as failure.

Now we correctly return NSERROR_OK on success.
2017-01-02 11:59:32 +00:00
Chris Young
dab118b6f7 Amga core window redraw
This almost certainly will not work properly
2017-01-01 23:57:35 +00:00
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
5382ad2aa6 patch up cocoa use of depricated tree api 2016-12-31 01:04:27 +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
Michael Drake
7ca75a4cee RISC OS: Fix hotlist save.
The read and write paths for hotlist are different:

    #define CHOICES_PREFIX "<Choices$Write>.WWW.NetSurf."

    NSOPTION_STRING(hotlist_path, "NetSurf:Hotlist")
    NSOPTION_STRING(hotlist_save, CHOICES_PREFIX "Hotlist")

This switches to using hotlist_save for writing.
2016-12-29 15:15:41 +00:00
Michael Drake
7fc6e6c0c0 Atari: Fix typo. 2016-12-29 15:08:44 +00:00
Michael Drake
c60ab801f3 Windows: Update for new hotlist API.
This allows the hotlist backend to work before the hotlist window opens.
2016-12-29 15:01:07 +00:00
Michael Drake
512a4335da Atari: Update for new hotlist API. 2016-12-29 15:01:07 +00:00
Michael Drake
354656b442 RISC OS: Update for new hotlist API.
This allows the hotlist backend to work before the hotlist window opens.
2016-12-29 14:51:43 +00:00
Michael Drake
4e5e9f1f5a gtk: Update for new hotlist API.
This allows the hotlist backend to work before the hotlist window opens.
2016-12-29 14:49:39 +00:00
Vincent Sanders
5f32f9ddd6 Revert "RISC OS: Squash unused variable."
This reverts commit 7aa1dd601e.
2016-12-29 12:56:38 +00:00
Vincent Sanders
e7598fb0b5 fix unexpected opening of windows in riscos
closed windows were re-opened in RISC OS because corewindow updates
failed to take into account their current state when teh core updated
the content size.
2016-12-29 12:54:38 +00:00
Michael Drake
7b7b1507d0 Revert "RISC OS: Ensure core's hotlist_init is called on startup."
This reverts commit 743637a8d2.
2016-12-29 12:21:03 +00:00
Michael Drake
2917af0a96 RISC OS: Squash set but unused variable. 2016-12-29 12:01:48 +00:00
Michael Drake
7aa1dd601e RISC OS: Squash unused variable. 2016-12-29 12:01:29 +00:00
Michael Drake
16b8d524e8 RISC OS: Squash unused variable.
This has been redundant since frames were moved into the core.
The all frames checkbox should be removed from the scale dialogue.
2016-12-29 12:00:03 +00:00
Michael Drake
07456db2dc RISC OS: Squash use of uninitialised variable. 2016-12-29 11:59:27 +00:00
Michael Drake
743637a8d2 RISC OS: Ensure core's hotlist_init is called on startup.
Until the core hotlist_init is called, it is impossible to add
pages to the hotlist.  This means we need to ensure it is called
on startup, rather than when first showing the hotlist.
2016-12-29 11:45:21 +00:00
Michael Drake
49b1b0b3a5 Atari front end doesn't need the tree compat layer. 2016-12-28 19:17:23 +00:00
Vincent Sanders
96e073a297 Merge branch 'vince/ro-corewindow'
Conflicts:
	frontends/riscos/sslcert.h
2016-12-28 16:14:19 +00:00
Vincent Sanders
af6139bcb5 remove RISC OS treeview wrapper implementation 2016-12-28 16:07:04 +00:00
Vincent Sanders
337f9948d5 Update RISC OS ssl certificate viewer to core window interface 2016-12-28 15:26:02 +00:00
Vincent Sanders
72d3bec792 Update RISC OS global history to use core window interface 2016-12-28 15:26:02 +00:00
Vincent Sanders
af3a78060f Update RISC OS hotlist to use core window interface 2016-12-28 15:26:02 +00:00
Vincent Sanders
05a35725d1 Update RISC OS cookie window to use core window interface 2016-12-28 15:25:57 +00:00
Vincent Sanders
e2bad05338 RISC OS corewindow implementation 2016-12-28 15:25:46 +00:00
Vincent Sanders
c7cf2d18de reformat riscos treeview source so it can be understood 2016-12-28 15:25:46 +00:00
Vincent Sanders
f68a3f9d61 improve gtk corewindow documentation 2016-12-26 13:24:22 +00:00
Vincent Sanders
f27cc16d42 improve doc comments in windows corewindow handling 2016-12-26 13:24:12 +00:00
Michael Drake
54f01c7d7b RISC OS: Remove unused function declaration. 2016-12-18 13:02:02 +00:00
Vincent Sanders
6c441fd4b1 remove unecessary include of depricated tree interface from beos 2016-12-16 15:14:26 +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
7318b5b65a RISC OS: Free nsoptions 2016-12-11 16:47:14 +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
François Revol
811d7b7175 haiku: close parenthesis in version string
they are unmatched due to the CI ifdefery
2016-11-21 21:34:57 +01:00
François Revol
540c6ee0ef haiku: use logging instead of fprintf 2016-11-21 21:02:55 +01:00
François Revol
cd3720d5b6 haiku: Fix popup menu
Only the reload entry is enabled for now.
2016-11-21 21:02:55 +01:00
François Revol
30ca72b32e haiku: Rework menu accelerator handling
Instead of splitting accel keys from the item string, we go the GTK
way of using a separate Accel-suffixed string id.
2016-11-21 18:20:47 +01:00
François Revol
b5fd0ae1ed haiku: catch NetPositive messages also in the Window
At least Pe sends them there for its Help menu.
2016-11-21 16:51:40 +01:00
François Revol
31b1c72ddc haiku: add a file extension when viewing source
Pe still requires it to detect the language, this makes it easier.
2016-11-21 16:38:22 +01:00
François Revol
35146ef0c8 haiku: try to open source in preferred app for source-code first
We still fall back to the hardcoded list, but we first check for the
user's prefered code editor.
2016-11-21 16:16:34 +01:00
Vincent Sanders
bcce8cc7b4 fix spelling of retrived 2016-11-21 00:07:13 +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
Vincent Sanders
61a00c3832 fix unecessary base64 header include 2016-11-19 17:11:23 +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
Michael Drake
c1a0001226 Merge branch 'vince/win32-corewindow' 2016-11-19 11:54:29 +00:00
Vincent Sanders
f3a1b49dd8 add corewindow support for windows frontend 2016-11-19 11:22:22 +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
Vincent Sanders
a2388a91cf Rationalise the use of win32 application instance handle use
The use of the application instance handle global variable was
inconsistent throughout the windows frontend.

By rationalising the passing of these handles it showed that some of
the toolbar and throbber parent handles were also setup wrong giving
odd offset behaviour.

All these issues have been addressed and the throbber is now in the
correct position.
2016-10-30 12:58:43 +00:00
Vincent Sanders
3ecced92f3 Complete windows main window documentation 2016-10-29 17:24:31 +01:00
Vincent Sanders
57715fc70c Improve windows win32 main browser window code documentation 2016-10-26 23:19:43 +01:00
Vincent Sanders
2adf0a9c44 clean up documentation of GTK core window interfaces 2016-10-26 13:58:51 +01:00
Chris Young
f814edee75 Disable triangle mode for bitmap scaling
Potential workaround for #2478
2016-10-23 19:31:43 +01:00
Vincent Sanders
90541333c0 remove unused variable in windows frontend 2016-10-20 12:54:43 +01:00
Vincent Sanders
5e1236a8e7 allow windows frontend to load and store urldb files 2016-10-19 23:31:49 +01:00
Vincent Sanders
43e91251ad windows frontend netsurf options 2016-10-19 23:07:43 +01:00
Vincent Sanders
601d9da66d fix windows user preferences location storage 2016-10-19 11:12:19 +01:00
Vincent Sanders
10afe5f615 fix curl/openssl library link ordering 2016-10-19 10:12:41 +01:00
Vincent Sanders
1de0ebf2e5 fix gtk install target to cope with gtk3 2016-10-05 19:44:49 +01:00
Vincent Sanders
975931a4f6 fix gtk3 build with corewindow 2016-10-05 19:43:19 +01:00
Vincent Sanders
e652eed493 fix framebuffer install rules 2016-10-05 10:55:32 +01:00
Vincent Sanders
b18c7aaa89 addjust posix feature level for openbsd 6 build 2016-10-01 12:17:54 +01:00
Vincent Sanders
a2396edde4 complete transition to locale independant core operation
The netsurf core no longer uses any locale dependant operations
excepting the mall number or cases where such operations are
explicitly wanted.

the netsurf_init now calls setlocale with the empty string and lets
the c library setup as per its specific implementation.

any core functionality that specificaly processes ascii text must use
the utils/ascii.h header to do so.
2016-09-29 22:37:10 +01:00
Vincent Sanders
0dcfc2fc5d fix use of default image on menu entries for gtk frontend 2016-09-27 21:17:33 +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
Vincent Sanders
9d858085c3 prevent memory leaks on realloc faliure 2016-09-12 22:30:25 +01:00
Vincent Sanders
315c0b0c60 fix formatting to be consistant spaces instead of partially width 4 tabs 2016-09-12 19:21:26 +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
2dba1d064d Merge branch 'master' of git://git.netsurf-browser.org/netsurf 2016-09-07 23:11:46 +01:00
Vincent Sanders
b00a43139e make monkey frontend mime type processing use explicit ascii processing 2016-09-07 21:45:21 +01:00
Vincent Sanders
1beb1e938f make GTK frontend mime type processing use explicit ascii processing 2016-09-07 21:45:16 +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
Vincent Sanders
a8a6098f68 move core window API into netsurf header path 2016-08-18 21:07:04 +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
Vincent Sanders
72277de6ea add bmp file format to file fetch types for gtk and framebuffer 2016-08-16 13:08:44 +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
Vincent Sanders
c95cca4ca6 licence and credits buttons got swapped, fix it
Thanks to bavier for the bug report
2016-08-14 22:34:49 +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
Chris Young
ab7e5c2936 Don't Abort/WaitIO when we've already removed it from the message queue (thx Georg) 2016-08-11 18:14:07 +01:00
Michael Drake
1457a049bb Treeview: Add treeview_font_size to options.
Default is 11pt, and RISC OS overrides to 12pt.
2016-08-11 08:15:21 +01:00
Chris Young
ebb2a33b0b Missing TAG_DONE (thx capehill) 2016-08-10 23:55:28 +01:00
Michael Drake
9aecf47408 Treeview: Rationalise initialisation and finalisation.
Previously the expected behaviour for front ends using the correct
API for hotlist, global history, cookie manager, and ssl cert
viewer was that the front end would initialise the treeview module
on startup and finalise it on application exit.

However, this meant that the front ends had to include the core
treeview header, which they didn't otherwise need.

Since the tree module provided access to the new treeview utilities
through the old tree API, and was used by front ends with no changes
for the new treeview API, the tree layer refcounted initialisations
of treeview-based widgets, and only called the underlying treeview
init/fini functions when needed.

This change moves that refcounting into the treeview module.  Now
the hotlist, global history, cookie manager, and ssl cert viewer
widgets call call treeview init/fini as part of their own
initialisation and finalisation.  This means that front ends
using the correct APIs for treeview-based widgets don't need to
know anything about the underlying treeview, and the tree module
compatibility layer has had its treeview refcounting removed.

Finally, the treeview_init function took a font size parameter.
Now it does not and lit gets font size from config.  We probably
want to add a new `treeview_font_size` option to nsoptions, and
have differnent defaults on different platforms. 12pt on RISC OS,
and 11pt elsewhere, most likely.
2016-08-10 18:57:36 +01:00
Chris Young
b63443b243 Use the API for duplicating IORequests
Add some more debug:
  It appears that some timer events are not being picked up, I can see in the log that something which should have been signalled is not being run.
Enabling the log appears to make the situation worse.
2016-08-10 17:54:26 +01:00
Chris Young
4b14f9ff37 Always wait for at least some time, as it's ambiguous as to whether a 0.0s timerequest is valid. 2016-08-10 00:21:52 +01:00
Chris Young
cd48860207 more debug 2016-08-09 20:00:52 +01:00
Chris Young
1ca5b7332c Decouple the scheduler from system time
This is a hang-over from the old polling scheduler.  I've modified it to use relative times and pass the callback along with the TimeRequest so events get executed in the order they arrive.
The list of events is still in a heap sorted by expected execution time, but this may need to change to something more efficient for random lookups.
2016-08-09 18:36:09 +01:00
Chris Young
24c1959105 We don't need ReplyMsg here.
TimerRequests are removed from the message queue by WaitIO() which is ultimately called when the event is taken off the heap.
The event on the top of the heap is _not necessarily_ the one which signalled us, though, and we should probably be handling this better.
2016-08-09 00:53:46 +01:00
Chris Young
747958c14c Scheduler debug logging 2016-08-09 00:20:26 +01:00
Vincent Sanders
35d9baa14e remove unused GTK treeview code completely repalced with core window API 2016-08-06 17:11:29 +01:00
Vincent Sanders
8547452232 convert GTK hotlist to use GTK core window 2016-08-06 17:08:21 +01:00
Vincent Sanders
f17e88e709 rename gtk global history implementation 2016-08-04 23:50:06 +01:00