Commit Graph

2350 Commits

Author SHA1 Message Date
Chris Young
7a7d99e004 Ensure we are only accessing pixel data using amiga_bitmap_get_buffer() 2016-03-22 22:55:31 +00:00
Chris Young
8a7d030af7 Ensure we don't access invalid pointers 2016-03-22 19:45:15 +00:00
Chris Young
215d1bec58 Document new bitmap functions 2016-03-22 19:39:33 +00:00
Chris Young
4b2ac84233 Make struct bitmap private to bitmap.c 2016-03-22 19:26:36 +00:00
Chris Young
bd663be927 Apparently setting pens is a strangely complex process, so avoid it. 2016-03-22 18:45:20 +00:00
Chris Young
876a472454 OS3 compatible language mappings 2016-03-16 23:27:33 +00:00
Chris Young
6991a42cdd Remove excess debug 2016-03-02 23:57:44 +00:00
Chris Young
37c0dcc1c5 Tweak #ifdefs so that OS3 build mostly works on OS4, to aid debugging. 2016-03-02 23:53:25 +00:00
Chris Young
da8d9885d5 debug 2016-03-02 23:47:49 +00:00
Chris Young
cd1800187e Set OS version to the disk-based version, as Installer by default reads the ROM version... which is v40 and indistinguishable between 3.1 and 3.5/9. 2016-03-02 23:44:00 +00:00
Chris Young
3a962a84c5 Fix OS4 build 2016-03-02 23:35:06 +00:00
Chris Young
2e958f4a4d Fix OS3 button disabling
Testing reveals OS3's button.gadget doesn't support OM_GET for GA_Disabled.
In addition, we fix OS4's boolean comparisons to ensure we only check against FALSE and !FALSE
2016-02-29 23:06:10 +00:00
Chris Young
64575f2aed Avoid some crashing by disabling the update of the hotlist menu
This will be fixed properly when the menu code is re-written to use menuclass, as that supports dynamic updates.
2016-02-29 18:10:45 +00:00
Chris Young
3e9fe9b8ae Add our own NewObject() function for OS3 and enable optimisations 2016-02-29 00:11:38 +00:00
Chris Young
2108697533 Fix copying of the wrong .readme during installation.
Abort with a message if the archive doesn't match the OS version.
2016-02-28 11:26:19 +00:00
Chris Young
55b9a12785 Add a warning for OS3 for a non-working function 2016-02-25 19:50:53 +00:00
Chris Young
829642e8f7 Comment all of bitmap_render out for OS3 to see if it resolves a crash
This function doesn't work on OS3 anyway!
2016-02-25 19:48:28 +00:00
Chris Young
1828079518 Fix a critical bug in the Amiga frontend which causes NetSurf to never exit.
Avoids looping trying to close a screen for which we are not the owner.
Moves the screen close to the very end of the code so if our own screen doesn't close we can still re-launch NetSurf.
2016-02-19 18:41:04 +00:00
Chris Young
00a0be2698 Update some Amiga-specific version numbers for post-3.4 2016-02-17 23:19:30 +00:00
Chris Young
3b57ce1013 Free shared_pens list on tree destroy 2016-02-14 15:42:58 +00:00
Chris Young
86247eea59 Don't re-use freed shared_pens list 2016-02-14 15:08:12 +00:00
Chris Young
097da50977 Remove old #define 2016-02-14 15:02:46 +00:00
Chris Young
df7bd6e07d Limit hotlist menu entries to 100 chars 2016-02-14 15:02:04 +00:00
Chris Young
a1beeda9da Make hotlist buttons show the URL as a HelpHint 2016-02-14 14:48:41 +00:00
Chris Young
bb4b602148 Limit hotlist buttons to 20 chars 2016-02-14 14:45:28 +00:00
Chris Young
e19d30027a Remove RMB trapping from the treeviews, previously used for context menus
The context menus for treeviews were removed ages ago, and any replacement won't need RMB trapping
2016-02-14 14:21:52 +00:00
Chris Young
769eb3f13b Remove some RMBTrap remnants, the new context menus don't require manual mouse trapping 2016-02-14 14:20:47 +00:00
Chris Young
0c55edfcb9 When we unlock a public screen, don't attempt to unlock it again.
We lock the screen to stop it closing before we open our window, and unlock it when the window is open (the window is a sufficient lock).  However we were not resetting the flag indicating the screen was still locked, so it was getting unlocked twice.
2016-02-14 14:13:24 +00:00
Chris Young
71cdc461a6 Pens need releasing before freeing layers to avoid invalid pointer access 2016-02-14 14:01:53 +00:00
Chris Young
cd0bcc421a Add an option to close inactive tabs to the tab bar context menu 2016-01-31 17:58:27 +00:00
Chris Young
cc0abb66b0 Implement warn_multi for OS3 (needed for the multiple tab close warning) 2016-01-31 17:21:51 +00:00
Chris Young
e98c220813 Fix some enable/disable gadget logic 2016-01-31 17:18:49 +00:00
Chris Young
1acc32b3a9 Force always show tabs when clicktab.gadget is older than v53 2016-01-31 17:10:47 +00:00
Chris Young
7729d93696 Enable tabbed browsing on OS3 2016-01-31 17:02:24 +00:00
Chris Young
f5ab570320 Disable "native scaled bitmaps" option if we're in palette mapped mode 2016-01-30 16:35:10 +00:00
Chris Young
e6b827979b Allocate bitmap structures using an itempool 2016-01-29 19:39:37 +00:00
Chris Young
b3c524cea1 Move some things around to try and prevent invalid pointer accesses on exit 2016-01-29 00:24:15 +00:00
Chris Young
0ce170c18e Disable the DPI gadget if in bitmap/diskfont fonts mode
Diskfont renders all font sizes at 72dpi.
2016-01-28 00:11:09 +00:00
Chris Young
ee640b80bc Add a GUI prefs option on OS3 only, to toggle between bitmap and outline fonts
"Allow bitmap fonts" causes NetSurf to use diskfont and graphics library routines for opening and displaying fonts.  This allows bitmap fonts to be used which are much faster on 68k hardware than outline fonts, but loses the ability to render pages in UTF-8.
Conversely, toggling this option off makes NetSurf use bullet.library directly and render glyphs itself, which precludes the usage of bitmap fonts but allows the full range of UTF-8 characters to be displayed.
This option is ON by default on OS3 for speed reasons, and OFF by default on OS4.  Additionally, this option is not shown on the prefs GUI on OS4 as the speed difference between bitmap and outline fonts is negligible on that hardware and I don't want to encourage the use of an option which provides inferior rendering.
2016-01-27 23:53:27 +00:00
Chris Young
5afd42aa5a Add the remaining missing OS3 prefs GUI elements
Might need to add/remove some things for the OS3 build
2016-01-27 00:33:37 +00:00
Chris Young
414e94452b Add dither and nativebitmap options to OS3 prefs gui 2016-01-27 00:11:49 +00:00
Chris Young
ca376741c6 Enable proxy options in prefs GUI for OS3 2016-01-27 00:07:14 +00:00
Chris Young
2c380f818f Fix some memory leakage 2016-01-27 00:01:42 +00:00
Chris Young
780752d276 fix the incorrect copy'n'pasted parameters 2016-01-26 23:55:14 +00:00
Chris Young
49bd536c6e Move OS3 array to list into separate function 2016-01-26 23:49:24 +00:00
Chris Young
f3332a20d7 Don't read the values of gadgets which were not created. 2016-01-26 19:52:39 +00:00
Chris Young
04cbc08c57 Don't use ami_NewMinList as it potentially writes past the MinList structure on OS3.
Instead we use ami_AllocMinList and pointers.
2016-01-26 19:40:59 +00:00
Chris Young
520e81f98d Alloc specifying local charset on OS3 as we can't get this from Locale 2016-01-26 19:37:18 +00:00
Chris Young
9505b8e514 Make most of the prefs GUI display (and hopefully work) under OS3
page.gadget is not a public class in OS3
Some gadgets which will not work have been temporarily #ifdef'd for OS4 only
Some gadgets which are not relevant have been disabled to avoid random values being set
2016-01-26 19:28:07 +00:00
Chris Young
78dec4d515 Show warnings on OS3 with an EasyRequest 2016-01-26 00:10:11 +00:00