Commit Graph

182 Commits

Author SHA1 Message Date
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
Vincent Sanders
189b7b45fb convert GTK global history to use GTK core window 2016-08-04 23:41:22 +01:00
Vincent Sanders
af191bbcc9 make gtk certificate viewing use gtk core window API 2016-07-31 13:25:20 +01:00
Vincent Sanders
b939afe3fc Allow certificate verification user prompt creation to return errors 2016-07-31 13:25:20 +01:00
Vincent Sanders
51725592c9 make gtk cookies manager use core window API 2016-07-31 13:25:20 +01:00
Vincent Sanders
ca5b165c85 add nsgtk support for core window API 2016-07-31 13:25:20 +01:00
Vincent Sanders
ea84f67035 fix gdk to nskey mapping for home/end and missing keypad mappings 2016-07-31 13:25:20 +01:00
Chris Young
3303c005ee Remove pointless string copy 2016-07-29 18:02:56 +01:00
Vincent Sanders
2d41d6c933 cleanup gtk cookie interface
use gtk_window_present instead of gdk_window_raise and reduce exposed
variables and interfaces.
2016-07-25 21:59:17 +01:00
Michael Drake
a122b94efd URL escape: Simplify to avoid unnecessary allocation.
This removes the toskip parameter, which was only used by the RISC OS
front end.  The toskip param was used to skip 8 characters which did
not need to be escaped from the start of the URL.  The RISC OS front
end now orders the steps of its URL construction to avoid the need
for this.
2016-07-25 09:04:35 +01:00
Chris Young
7bff70e746 Fix TODO (writing past end of buffer) 2016-07-24 22:38:46 +01:00
Michael Drake
fa2e3b7784 URL unescape: return the new length to the caller.
The avoids situations were we threw away the length, only for
the caller to have to strlen the returned string.

Note, there seems to be a case of the amiga front end writing
beyond end of allocation.  Added a TODO for now.
2016-07-24 14:03:16 +01:00
François Revol
83f95fe05e Explicitely support http and https URI schemes in the .desktop 2016-07-22 11:50:07 +01:00
Vincent Sanders
9ee6e90de5 add header for memcpy prototype 2016-07-15 14:40:40 +01:00
Vincent Sanders
d03f0ee04e use the correct png type when reading header width and height 2016-07-15 14:37:54 +01:00
Vincent Sanders
78d45e9b82 fix gtk TLS certificate viewing with multiple queries 2016-07-12 00:29:58 +01:00
Chris Young
6239b32d92 Make browserglob private to gui.c 2016-07-09 23:55:16 +01:00
Chris Young
36a2a77a8e tidy-up 2016-07-09 23:43:17 +01:00
Chris Young
d0a1ee7ac0 Only set JSIMD_FORCENONE if it is not already set 2016-07-09 23:17:09 +01:00
Chris Young
794f12e4b5 Add missing files 2016-07-09 14:35:39 +01:00
Chris Young
bb87d63f02 Force disable libjpeg-turbo's use of AltiVec if we don't have it
NB: This var must be set when NetSurf is launched.  The in-program setting is just a precaution in case the install script isn't run
2016-07-09 14:32:43 +01:00
Chris Young
7fe13d5afa Set envvar to the correct value 2016-07-09 13:17:43 +01:00
Chris Young
6a9a8d6127 Move current user options path to an abstracted nsoptions_read/write function 2016-07-09 01:07:18 +01:00
Chris Young
df8aeb4a88 Remove unused variable; help gcc 2016-07-09 00:44:35 +01:00
Chris Young
c9daec5567 Set an env-var if we don't have AltiVec
This, in theory, allows us to use libjpeg-turbo 1.5+ on both AltiVec and non-AltiVec systems.
2016-07-09 00:29:45 +01:00
Chris Young
39dcd22b05 Fix logic in the rare case we're running 8-bit and have a cached full-size native BitMap but need a scaled one. 2016-07-08 23:53:01 +01:00
Chris Young
d39f98065a Fix the caching logic now we've moved 8-bit scaling earlier in the code 2016-07-08 23:43:41 +01:00
Chris Young
ddcc914a3f Use GuiGFX to scale 8-bit images rather than doing two separate operations 2016-07-08 19:57:42 +01:00
Chris Young
dc633bc154 Force friend BitMap usage at depths>8bpp
Fix logic so this forced usage actually applies
2016-07-08 19:21:53 +01:00
Chris Young
7969745217 restrict some more vars 2016-07-08 19:17:42 +01:00
Chris Young
59b29930d7 Fix the signalling to the old session of NetSurf from the newly-launched one.
No idea how this ever worked previously, as it was sending commands to the ARexx server instead of NetSurf.
2016-07-03 22:08:29 +01:00
Chris Young
eb9571ede7 Help gcc opt 2016-07-03 19:39:08 +01:00
Chris Young
bada456d49 Fix specifying URLs on command line 2016-07-03 19:10:57 +01:00
Chris Young
ea00b37874 Attempt to help gcc out a little 2016-07-03 18:48:46 +01:00
Chris Young
61979923c1 Use functions for determining throbber bitmap size 2016-07-03 17:23:24 +01:00
Chris Young
ea9932dd00 Handle closing windows and quitting from the menu differently 2016-07-03 17:09:11 +01:00
Chris Young
65bf58e4a1 Remove ami_menu_toggle_checked global 2016-07-03 16:55:00 +01:00
Chris Young
313c48b8a1 Ensure we aren't using a NULL native BitMap anywhere 2016-07-02 14:56:04 +01:00
Chris Young
6c8225d3ab Don't abort on startup if GuiGFX is not available
Most OS4 users won't need it, everybody else might like the opportunity of using NetSurf to download it :)
2016-07-02 14:49:18 +01:00
Chris Young
65175b4362 Make Amiga SearchEngines file out of the global one plus our own additions 2016-07-01 17:37:09 +01:00
Vincent Sanders
8066d1c8b4 move key press enums and operations to their own header 2016-07-01 14:27:04 +01:00
Vincent Sanders
0758af6631 remove unecessary core window header usage 2016-06-30 19:50:14 +01:00
Vincent Sanders
85d76a0e04 fix missing includes caused by header cleanups 2016-06-30 18:26:51 +01:00
Vincent Sanders
012b797713 remove unecessary textinput header use from global history header 2016-06-30 15:40:10 +01:00
Vincent Sanders
690066bb56 remove unecessary textinput header use from hotlist header 2016-06-30 15:28:54 +01:00
Vincent Sanders
4f59f5309f fix missing keycode include on atari platform 2016-06-30 12:34:08 +01:00
Vincent Sanders
c313524998 reduce curl usage to fetcher, url unescaping and time parsing 2016-06-29 23:06:53 +01:00
Daniel Silverstone
47ccd9855d Move fetcher_fdset to fetch.h (and rename to fetch_fdset). Maybe not ideal but better 2016-06-27 21:09:39 +01:00
Daniel Silverstone
767b73f5c7 Add NULL for silly frontend which can't use a useful compiler 2016-06-27 21:04:21 +01:00
Chris Young
d3cfbc3077 Remove old native build lines from makefile 2016-06-25 21:36:45 +01:00
Chris Young
7051b9e563 Use libiconv instead of newlib's iconv
Requires invalid input to be explicitly ignored, as unlike newlib invalid characters are not replaced with '?'
Fixes bug 2440
2016-06-25 21:24:45 +01:00
Chris Young
14bf4b47a5 Use charset from default Locale and store it in an option so we can (a) override and (b) get it without constantly looking it up 2016-06-25 17:52:32 +01:00
Chris Young
75dcf09394 NULL a couple of variables 2016-06-15 21:04:51 +01:00
Vincent Sanders
66d0f14b32 move the public form API 2016-06-14 12:39:54 +01:00
Vincent Sanders
976eca9958 msplit public url database API out for frontends 2016-06-13 23:34:45 +01:00
Vincent Sanders
22d84a587b reduce cocoa unecessary use of core API 2016-06-12 11:57:22 +01:00
Vincent Sanders
7dcc725ae2 reduce cocoa frontend use of content API 2016-06-12 00:13:04 +01:00
Vincent Sanders
f236e7d6b7 remove unecessary content header inclusion from beos frontend 2016-06-11 18:44:20 +01:00
Vincent Sanders
3153335fde remove unecessary risc os frontend usage of content headers 2016-06-10 11:53:28 +01:00
Vincent Sanders
8fdf262683 remove unecessary content API usage from atari frontend 2016-06-08 15:30:25 +01:00
Vincent Sanders
0fad46cd0f reduce unecessary usage of content headers 2016-06-06 16:10:47 +01:00
Vincent Sanders
9c8d60792f reduce usage of content headers by monkey frontend 2016-06-06 15:14:29 +01:00
Vincent Sanders
8861923455 Allow include directories to be added by sub makefiles 2016-06-06 14:47:27 +01:00
Vincent Sanders
cba3a1468c beos frontend compile cannot do forward declrarations of enums 2016-06-06 10:24:51 +01:00
Vincent Sanders
de3194d1fe missed necessary header for haiku 2016-06-06 10:15:12 +01:00
Vincent Sanders
3743c78d56 fixup beos build after content header changes 2016-06-06 10:09:59 +01:00
Vincent Sanders
7f8e453a18 fixup cocoa image handler for content API changes 2016-06-06 09:23:24 +01:00
Vincent Sanders
5074190c01 haiku gcc does not support forward enum declarations 2016-06-06 09:19:25 +01:00
Vincent Sanders
0c53ad0e67 Clean up RISC OS save source to remove forward declarations and improve documentation 2016-06-06 09:01:38 +01:00
Vincent Sanders
76a68d7dd0 Update content to split public and internal API 2016-06-06 09:01:38 +01:00
Chris Young
d923e109cd Fix OS3 build 2016-06-02 21:55:46 +01:00
Chris Young
88ae1ff267 Ensure variables are declared correctly 2016-06-02 00:44:20 +01:00
Chris Young
df2b14ed5f Make rxsig private to gui.c 2016-06-02 00:14:10 +01:00
Chris Young
ccccf76ff8 Make arexx_obj private to arexx.c 2016-06-02 00:09:30 +01:00
Chris Young
26acc5d5c7 Move some globals into gui.c 2016-06-02 00:03:45 +01:00
Chris Young
a4ed8bf4c9 Make more drag-related global variables private 2016-06-01 18:48:37 +01:00
Chris Young
e1dea53d2a Make ami_autoscroll private to drag.c 2016-06-01 18:40:14 +01:00
Chris Young
0bbb4f5a2a Rationalise gui_globals a bit 2016-06-01 17:48:03 +01:00