Skip to content
Snippets Groups Projects
Commit e3064630 authored by Eric Oulashin's avatar Eric Oulashin
Browse files

Merge remote-tracking branch 'origin/master' into dd_msg_reader_v1_96

parents 15796412 e7885295
No related branches found
No related tags found
1 merge request!465DDMsgReader: Sorting of sub-boards when changing to another sub-board (for nelgin). Toggleable behavior to only show sub-boards with new messages in the indexed-mode newscan (for kdi4hw). Internal: Updated for bbs.msg_number and bbs.smb_curmsg being write
Pipeline #6957 passed
Version 1.2rc5
--------------
Fix RIP parsing when passed fragmented ANSI sequences
Fix cursor when RIP changes font height
Fix Alt-O in RIP mode
Version 1.2rc4 Version 1.2rc4
-------------- --------------
Fix pointy scaling to work even when interpolating both directions Fix pointy scaling to work even when interpolating both directions
...@@ -9,7 +15,6 @@ Fix telnets (broken when sftp support was added) ...@@ -9,7 +15,6 @@ Fix telnets (broken when sftp support was added)
Update ANSI and win32 console support Update ANSI and win32 console support
Fix bug with window resizing calculations Fix bug with window resizing calculations
New icons thanks to zuMi! New icons thanks to zuMi!
Fix RIP parsing when passed fragmented ANSI sequences
Version 1.2rc3 Version 1.2rc3
-------------- --------------
......
Extract release archives and ensure the correct version is in all of them
Upload files to SourceForge Upload files to SourceForge
Set default OS versions on SourceForge Set default OS versions on SourceForge
Add new version to Found in Version file on SourceForge in bug and support trackers Add new version to Found in Version file on SourceForge in bug and support trackers
......
...@@ -10080,6 +10080,7 @@ reinit_screen(uint8_t *font, int fx, int fy) ...@@ -10080,6 +10080,7 @@ reinit_screen(uint8_t *font, int fx, int fy)
int rows = 43; int rows = 43;
void *nvmem; void *nvmem;
uint32_t lcf; uint32_t lcf;
bool fh_change;
   
rip_did_reinit = true; rip_did_reinit = true;
hold_update = 0; hold_update = 0;
...@@ -10098,6 +10099,7 @@ reinit_screen(uint8_t *font, int fx, int fy) ...@@ -10098,6 +10099,7 @@ reinit_screen(uint8_t *font, int fx, int fy)
if (font == ripfnt16x14) if (font == ripfnt16x14)
cols = 40; cols = 40;
pthread_mutex_lock(&vstatlock); pthread_mutex_lock(&vstatlock);
fh_change = fy != vstat.charheight;
rows = vstat.scrnheight / fy; rows = vstat.scrnheight / fy;
if ((font != vstat.forced_font) || (fx != vstat.charwidth) || (fy != vstat.charheight)) { if ((font != vstat.forced_font) || (fx != vstat.charwidth) || (fy != vstat.charheight)) {
vstat.forced_font = font; vstat.forced_font = font;
...@@ -10105,6 +10107,15 @@ reinit_screen(uint8_t *font, int fx, int fy) ...@@ -10105,6 +10107,15 @@ reinit_screen(uint8_t *font, int fx, int fy)
vstat.charheight = fy; vstat.charheight = fy;
vstat.cols = cols; vstat.cols = cols;
vstat.rows = rows; vstat.rows = rows;
if (fh_change) {
if (fy > 8)
vstat.default_curs_start = vstat.charheight - 2;
else
vstat.default_curs_start = vstat.charheight - 1;
vstat.default_curs_end = vstat.charheight - 1;
vstat.curs_start = vstat.default_curs_start;
vstat.curs_end = vstat.default_curs_end;
}
   
// We need to update gettextinfo() results as well... // We need to update gettextinfo() results as well...
cio_textinfo.screenwidth = cols; cio_textinfo.screenwidth = cols;
...@@ -16230,6 +16241,7 @@ rip_getch(void) ...@@ -16230,6 +16241,7 @@ rip_getch(void)
} }
return ch; return ch;
} }
struct mouse_state *ms = cterm->mouse_state_change_cbdata;
   
gotoxy(wherex(), wherey()); gotoxy(wherex(), wherey());
ch = getch(); ch = getch();
...@@ -16240,7 +16252,7 @@ rip_getch(void) ...@@ -16240,7 +16252,7 @@ rip_getch(void)
} }
   
shadow_palette(); shadow_palette();
if (ch == CIO_KEY_MOUSE) { if (ch == CIO_KEY_MOUSE && (!(ms->flags & MS_FLAGS_DISABLED))) {
ch = -1; ch = -1;
getmouse(&mevent); getmouse(&mevent);
mevent.startx_res = unmap_rip_x(mevent.startx_res); mevent.startx_res = unmap_rip_x(mevent.startx_res);
...@@ -102,25 +102,6 @@ get_cterm_size(int *cols, int *rows, int ns) ...@@ -102,25 +102,6 @@ get_cterm_size(int *cols, int *rows, int ns)
} }
} }
enum mouse_modes {
MM_OFF,
MM_RIP = 1,
MM_X10 = 9,
MM_NORMAL_TRACKING = 1000,
MM_HIGHLIGHT_TRACKING = 1001,
MM_BUTTON_EVENT_TRACKING = 1002,
MM_ANY_EVENT_TRACKING = 1003
};
struct mouse_state {
uint32_t flags;
#define MS_FLAGS_SGR (1 << 0)
#define MS_FLAGS_DISABLED (1 << 1)
#define MS_SGR_SET (1006)
enum mouse_modes mode;
};
void void
setup_mouse_events(struct mouse_state *ms) setup_mouse_events(struct mouse_state *ms)
{ {
......
...@@ -18,6 +18,25 @@ struct terminal { ...@@ -18,6 +18,25 @@ struct terminal {
int nostatus; int nostatus;
}; };
enum mouse_modes {
MM_OFF,
MM_RIP = 1,
MM_X10 = 9,
MM_NORMAL_TRACKING = 1000,
MM_HIGHLIGHT_TRACKING = 1001,
MM_BUTTON_EVENT_TRACKING = 1002,
MM_ANY_EVENT_TRACKING = 1003
};
struct mouse_state {
uint32_t flags;
#define MS_FLAGS_SGR (1 << 0)
#define MS_FLAGS_DISABLED (1 << 1)
#define MS_SGR_SET (1006)
enum mouse_modes mode;
};
#define XMODEM_128B (1 << 10) /* Use 128 byte block size (ick!) */ #define XMODEM_128B (1 << 10) /* Use 128 byte block size (ick!) */
extern struct terminal term; extern struct terminal term;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment