diff --git a/latest/src/gtk2/cursor.c b/latest/src/gtk2/cursor.c index dd8500d..f8f5e7d 100755 --- a/latest/src/gtk2/cursor.c +++ b/latest/src/gtk2/cursor.c @@ -100,7 +100,7 @@ rCursor.height = terminal_font_info.height; } - void update_cursor_position(H3270 *session, unsigned short row, unsigned short col) + void update_cursor_position(H3270 *session, unsigned short row, unsigned short col, unsigned char c, unsigned short attr) { int addr = (row * screen->cols) + col; diff --git a/latest/src/gtk2/gui.h b/latest/src/gtk2/gui.h index 82f1848..ae4b9e8 100644 --- a/latest/src/gtk2/gui.h +++ b/latest/src/gtk2/gui.h @@ -344,7 +344,7 @@ LOCAL_EXTERN void unselect(void); LOCAL_EXTERN void reselect(void); - LOCAL_EXTERN void update_cursor_position(H3270 *session, unsigned short row, unsigned short col); + LOCAL_EXTERN void update_cursor_position(H3270 *session, unsigned short row, unsigned short col, unsigned char c, unsigned short attr); LOCAL_EXTERN void update_cursor_info(void); LOCAL_EXTERN void queue_draw_cursor(void); LOCAL_EXTERN void update_cursor_pixmap(void); diff --git a/latest/src/gtk2/screen.c b/latest/src/gtk2/screen.c index 44450ec..43510ef 100644 --- a/latest/src/gtk2/screen.c +++ b/latest/src/gtk2/screen.c @@ -109,7 +109,7 @@ settitle, // void (*title)(char *text); gdk_beep, // void (*ring_bell)(void); redraw, // void (*redraw)(void); - update_cursor_position, // void (*move_cursor)(H3270 *session, unsigned short row, unsigned short col); + update_cursor_position, // void (*move_cursor)(H3270 *session, unsigned short row, unsigned short col, unsigned char c, unsigned short attr); SetSuspended, // int (*set_suspended)(int state); SetScript, // void (*set_script)(SCRIPT_STATE state); NULL, // void (*reset)(int lock); diff --git a/latest/src/include/lib3270/api.h b/latest/src/include/lib3270/api.h index 0a9d768..0986bce 100644 --- a/latest/src/include/lib3270/api.h +++ b/latest/src/include/lib3270/api.h @@ -268,7 +268,7 @@ void (*update)(H3270 *session, int baddr, unsigned char c, unsigned short attr, unsigned char cursor); void (*changed)(H3270 *session, int bstart, int bend); - void (*update_cursor)(H3270 *session, unsigned short row, unsigned short col); + void (*update_cursor)(H3270 *session, unsigned short row, unsigned short col, unsigned char c, unsigned short attr); void (*update_oia)(H3270 *session, OIA_FLAG id, unsigned char on); void (*update_toggle)(H3270 *session, LIB3270_TOGGLE ix, unsigned char value, LIB3270_TOGGLE_TYPE reason, const char *name); void (*update_luname)(H3270 *session, const char *name); @@ -500,7 +500,7 @@ void (*title)(char *text); void (*ring_bell)(void); void (*redraw)(void); - void (*move_cursor)(H3270 *session, unsigned short row, unsigned short col); + void (*move_cursor)(H3270 *session, unsigned short row, unsigned short col, unsigned char c, unsigned short attr); int (*set_suspended)(int state); void (*set_script)(SCRIPT_STATE state); void (*reset)(int lock); diff --git a/latest/src/lib/screen.c b/latest/src/lib/screen.c index 87b9e76..d37f8ba 100644 --- a/latest/src/lib/screen.c +++ b/latest/src/lib/screen.c @@ -489,7 +489,7 @@ LIB3270_EXPORT int lib3270_set_cursor_address(H3270 *h, int baddr) h->cursor_addr = baddr; if(h->update_cursor) - h->update_cursor(h,(unsigned short) (baddr/h->cols),(unsigned short) (baddr%h->cols)); + h->update_cursor(h,(unsigned short) (baddr/h->cols),(unsigned short) (baddr%h->cols),ea_buf[baddr].chr,ea_buf[baddr].attr); return ret; } -- libgit2 0.21.2