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
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