summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYegappan Lakshmanan <yegappan@yahoo.com>2023-01-08 13:44:24 +0000
committerBram Moolenaar <Bram@vim.org>2023-01-08 13:44:24 +0000
commit7f8b2559a30e2e2a443c35b28e94c6b45ba7ae04 (patch)
tree04c0145c1e3cf9777d58c91fa7b2ad231cfecf8d
parentdf8f9473596c8fb18ec893de677dba455e8925b3 (diff)
patch 9.0.1158: code is indented more than necessaryv9.0.1158
Problem: Code is indented more than necessary. Solution: Use an early return where it makes sense. (Yegappan Lakshmanan, closes #11787)
-rw-r--r--src/findfile.c10
-rw-r--r--src/fold.c46
-rw-r--r--src/getchar.c118
-rw-r--r--src/gui.c622
-rw-r--r--src/gui_beval.c310
-rw-r--r--src/gui_gtk.c177
-rw-r--r--src/gui_gtk_f.c56
-rw-r--r--src/gui_gtk_x11.c325
-rw-r--r--src/gui_motif.c223
-rw-r--r--src/gui_photon.c44
-rw-r--r--src/gui_w32.c437
-rw-r--r--src/gui_x11.c120
-rw-r--r--src/gui_xim.c36
-rw-r--r--src/version.c2
14 files changed, 1267 insertions, 1259 deletions
diff --git a/src/findfile.c b/src/findfile.c
index 9ce733cfd6..017e1c6629 100644
--- a/src/findfile.c
+++ b/src/findfile.c
@@ -1426,11 +1426,11 @@ ff_push(ff_search_ctx_T *search_ctx, ff_stack_T *stack_ptr)
{
// check for NULL pointer, not to return an error to the user, but
// to prevent a crash
- if (stack_ptr != NULL)
- {
- stack_ptr->ffs_prev = search_ctx->ffsc_stack_ptr;
- search_ctx->ffsc_stack_ptr = stack_ptr;
- }
+ if (stack_ptr == NULL)
+ return;
+
+ stack_ptr->ffs_prev = search_ctx->ffsc_stack_ptr;
+ search_ctx->ffsc_stack_ptr = stack_ptr;
}
/*
diff --git a/src/fold.c b/src/fold.c
index d722a56d0c..61bffb5d01 100644
--- a/src/fold.c
+++ b/src/fold.c
@@ -513,13 +513,14 @@ newFoldLevelWin(win_T *wp)
void
foldCheckClose(void)
{
- if (*p_fcl != NUL) // can only be "all" right now
- {
- checkupdate(curwin);
- if (checkCloseRec(&curwin->w_folds, curwin->w_cursor.lnum,
- (int)curwin->w_p_fdl))
- changed_window_setting();
- }
+ if (*p_fcl == NUL)
+ return;
+
+ // can only be "all" right now
+ checkupdate(curwin);
+ if (checkCloseRec(&curwin->w_folds, curwin->w_cursor.lnum,
+ (int)curwin->w_p_fdl))
+ changed_window_setting();
}
// checkCloseRec() {{{2
@@ -1077,16 +1078,17 @@ foldAdjustVisual(void)
}
if (hasFolding(start->lnum, &start->lnum, NULL))
start->col = 0;
- if (hasFolding(end->lnum, NULL, &end->lnum))
- {
- ptr = ml_get(end->lnum);
- end->col = (colnr_T)STRLEN(ptr);
- if (end->col > 0 && *p_sel == 'o')
- --end->col;
- // prevent cursor from moving on the trail byte
- if (has_mbyte)
- mb_adjust_cursor();
- }
+
+ if (!hasFolding(end->lnum, NULL, &end->lnum))
+ return;
+
+ ptr = ml_get(end->lnum);
+ end->col = (colnr_T)STRLEN(ptr);
+ if (end->col > 0 && *p_sel == 'o')
+ --end->col;
+ // prevent cursor from moving on the trail byte
+ if (has_mbyte)
+ mb_adjust_cursor();
}
// cursor_foldstart() {{{2
@@ -1215,11 +1217,11 @@ foldLevelWin(win_T *wp, linenr_T lnum)
static void
checkupdate(win_T *wp)
{
- if (wp->w_foldinvalid)
- {
- foldUpdate(wp, (linenr_T)1, (linenr_T)MAXLNUM); // will update all
- wp->w_foldinvalid = FALSE;
- }
+ if (!wp->w_foldinvalid)
+ return;
+
+ foldUpdate(wp, (linenr_T)1, (linenr_T)MAXLNUM); // will update all
+ wp->w_foldinvalid = FALSE;
}
// setFoldRepeat() {{{2
diff --git a/src/getchar.c b/src/getchar.c
index 3fd518b00d..2fb9baaf85 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -259,11 +259,11 @@ delete_buff_tail(buffheader_T *buf, int slen)
if (buf->bh_curr == NULL)
return; // nothing to delete
len = (int)STRLEN(buf->bh_curr->b_str);
- if (len >= slen)
- {
- buf->bh_curr->b_str[len - slen] = NUL;
- buf->bh_space += slen;
- }
+ if (len < slen)
+ return;
+
+ buf->bh_curr->b_str[len - slen] = NUL;
+ buf->bh_space += slen;
}
/*
@@ -478,12 +478,12 @@ flush_buffers(flush_buffers_T flush_typeahead)
void
ResetRedobuff(void)
{
- if (!block_redo)
- {
- free_buff(&old_redobuff);
- old_redobuff = redobuff;
- redobuff.bh_first.b_next = NULL;
- }
+ if (block_redo)
+ return;
+
+ free_buff(&old_redobuff);
+ old_redobuff = redobuff;
+ redobuff.bh_first.b_next = NULL;
}
/*
@@ -493,15 +493,15 @@ ResetRedobuff(void)
void
CancelRedo(void)
{
- if (!block_redo)
- {
- free_buff(&redobuff);
- redobuff = old_redobuff;
- old_redobuff.bh_first.b_next = NULL;
- start_stuff();
- while (read_readbuffers(TRUE) != NUL)
- ;
- }
+ if (block_redo)
+ return;
+
+ free_buff(&redobuff);
+ redobuff = old_redobuff;
+ old_redobuff.bh_first.b_next = NULL;
+ start_stuff();
+ while (read_readbuffers(TRUE) != NUL)
+ ;
}
/*
@@ -520,11 +520,11 @@ saveRedobuff(save_redo_T *save_redo)
// Make a copy, so that ":normal ." in a function works.
s = get_buffcont(&save_redo->sr_redobuff, FALSE);
- if (s != NULL)
- {
- add_buff(&redobuff, s, -1L);
- vim_free(s);
- }
+ if (s == NULL)
+ return;
+
+ add_buff(&redobuff, s, -1L);
+ vim_free(s);
}
/*
@@ -944,15 +944,15 @@ stop_redo_ins(void)
static void
init_typebuf(void)
{
- if (typebuf.tb_buf == NULL)
- {
- typebuf.tb_buf = typebuf_init;
- typebuf.tb_noremap = noremapbuf_init;
- typebuf.tb_buflen = TYPELEN_INIT;
- typebuf.tb_len = 0;
- typebuf.tb_off = MAXMAPLEN + 4;
- typebuf.tb_change_cnt = 1;
- }
+ if (typebuf.tb_buf != NULL)
+ return;
+
+ typebuf.tb_buf = typebuf_init;
+ typebuf.tb_noremap = noremapbuf_init;
+ typebuf.tb_buflen = TYPELEN_INIT;
+ typebuf.tb_len = 0;
+ typebuf.tb_off = MAXMAPLEN + 4;
+ typebuf.tb_change_cnt = 1;
}
/*
@@ -1324,11 +1324,11 @@ gotchars(char_u *chars, int len)
void
ungetchars(int len)
{
- if (reg_recording != 0)
- {
- delete_buff_tail(&recordbuff, len);
- last_recorded_len -= len;
- }
+ if (reg_recording == 0)
+ return;
+
+ delete_buff_tail(&recordbuff, len);
+ last_recorded_len -= len;
}
/*
@@ -2230,23 +2230,23 @@ f_getcharstr(typval_T *argvars, typval_T *rettv)
{
getchar_common(argvars, rettv);
- if (rettv->v_type == VAR_NUMBER)
- {
- char_u temp[7]; // mbyte-char: 6, NUL: 1
- varnumber_T n = rettv->vval.v_number;
- int i = 0;
+ if (rettv->v_type != VAR_NUMBER)
+ return;
- if (n != 0)
- {
- if (has_mbyte)
- i += (*mb_char2bytes)(n, temp + i);
- else
- temp[i++] = n;
- }
- temp[i++] = NUL;
- rettv->v_type = VAR_STRING;
- rettv->vval.v_string = vim_strsave(temp);
+ char_u temp[7]; // mbyte-char: 6, NUL: 1
+ varnumber_T n = rettv->vval.v_number;
+ int i = 0;
+
+ if (n != 0)
+ {
+ if (has_mbyte)
+ i += (*mb_char2bytes)(n, temp + i);
+ else
+ temp[i++] = n;
}
+ temp[i++] = NUL;
+ rettv->v_type = VAR_STRING;
+ rettv->vval.v_string = vim_strsave(temp);
}
/*
@@ -4031,10 +4031,10 @@ do_cmdkey_command(int key UNUSED, int flags)
void
reset_last_used_map(mapblock_T *mp)
{
- if (last_used_map == mp)
- {
- last_used_map = NULL;
- last_used_sid = -1;
- }
+ if (last_used_map != mp)
+ return;
+
+ last_used_map = NULL;
+ last_used_sid = -1;
}
#endif
diff --git a/src/gui.c b/src/gui.c
index 585ead00d5..b8910054b0 100644
--- a/src/gui.c
+++ b/src/gui.c
@@ -1171,71 +1171,73 @@ gui_update_cursor(
return;
gui_check_pos();
- if (!gui.cursor_is_valid || force
- || gui.row != gui.cursor_row || gui.col != gui.cursor_col)
- {
- gui_undraw_cursor();
- // If a cursor-less sleep is ongoing, leave the cursor invisible
- if (cursor_is_sleeping())
- return;
+ if (gui.cursor_is_valid && !force
+ && gui.row == gui.cursor_row && gui.col == gui.cursor_col)
+ return;
- if (gui.row < 0)
- return;
+ gui_undraw_cursor();
+
+ // If a cursor-less sleep is ongoing, leave the cursor invisible
+ if (cursor_is_sleeping())
+ return;
+
+ if (gui.row < 0)
+ return;
#ifdef HAVE_INPUT_METHOD
- if (gui.row != gui.cursor_row || gui.col != gui.cursor_col)
- im_set_position(gui.row, gui.col);
+ if (gui.row != gui.cursor_row || gui.col != gui.cursor_col)
+ im_set_position(gui.row, gui.col);
#endif
- gui.cursor_row = gui.row;
- gui.cursor_col = gui.col;
+ gui.cursor_row = gui.row;
+ gui.cursor_col = gui.col;
- // Only write to the screen after ScreenLines[] has been initialized
- if (!screen_cleared || ScreenLines == NULL)
- return;
+ // Only write to the screen after ScreenLines[] has been initialized
+ if (!screen_cleared || ScreenLines == NULL)
+ return;
- // Clear the selection if we are about to write over it
- if (clear_selection)
- clip_may_clear_selection(gui.row, gui.row);
- // Check that the cursor is inside the shell (resizing may have made
- // it invalid)
- if (gui.row >= screen_Rows || gui.col >= screen_Columns)
- return;
+ // Clear the selection if we are about to write over it
+ if (clear_selection)
+ clip_may_clear_selection(gui.row, gui.row);
+ // Check that the cursor is inside the shell (resizing may have made
+ // it invalid)
+ if (gui.row >= screen_Rows || gui.col >= screen_Columns)
+ return;
- gui.cursor_is_valid = TRUE;
+ gui.cursor_is_valid = TRUE;
- /*
- * How the cursor is drawn depends on the current mode.
- * When in a terminal window use the shape/color specified there.
- */
+ /*
+ * How the cursor is drawn depends on the current mode.
+ * When in a terminal window use the shape/color specified there.
+ */
#ifdef FEAT_TERMINAL
- if (terminal_is_active())
- shape = term_get_cursor_shape(&shape_fg, &shape_bg);
- else
+ if (terminal_is_active())
+ shape = term_get_cursor_shape(&shape_fg, &shape_bg);
+ else
#endif
- shape = &shape_table[get_shape_idx(FALSE)];
- if (State & MODE_LANGMAP)
- id = shape->id_lm;
- else
- id = shape->id;
-
- // get the colors and attributes for the cursor. Default is inverted
- cfg = INVALCOLOR;
- cbg = INVALCOLOR;
- cattr = HL_INVERSE;
- gui_mch_set_blinking(shape->blinkwait,
- shape->blinkon,
- shape->blinkoff);
- if (shape->blinkwait == 0 || shape->blinkon == 0
- || shape->blinkoff == 0)
- gui_mch_stop_blink(FALSE);
+ shape = &shape_table[get_shape_idx(FALSE)];
+ if (State & MODE_LANGMAP)
+ id = shape->id_lm;
+ else
+ id = shape->id;
+
+ // get the colors and attributes for the cursor. Default is inverted
+ cfg = INVALCOLOR;
+ cbg = INVALCOLOR;
+ cattr = HL_INVERSE;
+ gui_mch_set_blinking(shape->blinkwait,
+ shape->blinkon,
+ shape->blinkoff);
+ if (shape->blinkwait == 0 || shape->blinkon == 0
+ || shape->blinkoff == 0)
+ gui_mch_stop_blink(FALSE);
#ifdef FEAT_TERMINAL
- if (shape_bg != INVALCOLOR)
- {
- cattr = 0;
- cfg = shape_fg;
- cbg = shape_bg;
- }
- else
+ if (shape_bg != INVALCOLOR)
+ {
+ cattr = 0;
+ cfg = shape_fg;
+ cbg = shape_bg;
+ }
+ else
#endif
if (id > 0)
{
@@ -1251,7 +1253,7 @@ gui_update_cursor(
# else
im_get_status()
# endif
- )
+ )
{
iid = syn_name2id((char_u *)"CursorIM");
if (iid > 0)
@@ -1267,132 +1269,131 @@ gui_update_cursor(
#endif
}
- /*
- * Get the attributes for the character under the cursor.
- * When no cursor color was given, use the character color.
- */
- attr = ScreenAttrs[LineOffset[gui.row] + gui.col];
- if (attr > HL_ALL)
- aep = syn_gui_attr2entry(attr);
- if (aep != NULL)
- {
- attr = aep->ae_attr;
- if (cfg == INVALCOLOR)
- cfg = ((attr & HL_INVERSE) ? aep->ae_u.gui.bg_color
- : aep->ae_u.gui.fg_color);
- if (cbg == INVALCOLOR)
- cbg = ((attr & HL_INVERSE) ? aep->ae_u.gui.fg_color
- : aep->ae_u.gui.bg_color);
- }
+ /*
+ * Get the attributes for the character under the cursor.
+ * When no cursor color was given, use the character color.
+ */
+ attr = ScreenAttrs[LineOffset[gui.row] + gui.col];
+ if (attr > HL_ALL)
+ aep = syn_gui_attr2entry(attr);
+ if (aep != NULL)
+ {
+ attr = aep->ae_attr;
if (cfg == INVALCOLOR)
- cfg = (attr & HL_INVERSE) ? gui.back_pixel : gui.norm_pixel;
+ cfg = ((attr & HL_INVERSE) ? aep->ae_u.gui.bg_color
+ : aep->ae_u.gui.fg_color);
if (cbg == INVALCOLOR)
- cbg = (attr & HL_INVERSE) ? gui.norm_pixel : gui.back_pixel;
+ cbg = ((attr & HL_INVERSE) ? aep->ae_u.gui.fg_color
+ : aep->ae_u.gui.bg_color);
+ }
+ if (cfg == INVALCOLOR)
+ cfg = (attr & HL_INVERSE) ? gui.back_pixel : gui.norm_pixel;
+ if (cbg == INVALCOLOR)
+ cbg = (attr & HL_INVERSE) ? gui.norm_pixel : gui.back_pixel;
#ifdef FEAT_XIM
- if (aep != NULL)
- {
- xim_bg_color = ((attr & HL_INVERSE) ? aep->ae_u.gui.fg_color
- : aep->ae_u.gui.bg_color);
- xim_fg_color = ((attr & HL_INVERSE) ? aep->ae_u.gui.bg_color
- : aep->ae_u.gui.fg_color);
- if (xim_bg_color == INVALCOLOR)
- xim_bg_color = (attr & HL_INVERSE) ? gui.norm_pixel
- : gui.back_pixel;
- if (xim_fg_color == INVALCOLOR)
- xim_fg_color = (attr & HL_INVERSE) ? gui.back_pixel
- : gui.norm_pixel;
- }
- else
- {
+ if (aep != NULL)
+ {
+ xim_bg_color = ((attr & HL_INVERSE) ? aep->ae_u.gui.fg_color
+ : aep->ae_u.gui.bg_color);
+ xim_fg_color = ((attr & HL_INVERSE) ? aep->ae_u.gui.bg_color
+ : aep->ae_u.gui.fg_color);
+ if (xim_bg_color == INVALCOLOR)
xim_bg_color = (attr & HL_INVERSE) ? gui.norm_pixel
- : gui.back_pixel;
+ : gui.back_pixel;
+ if (xim_fg_color == INVALCOLOR)
xim_fg_color = (attr & HL_INVERSE) ? gui.back_pixel
- : gui.norm_pixel;
- }
+ : gui.norm_pixel;
+ }
+ else
+ {
+ xim_bg_color = (attr & HL_INVERSE) ? gui.norm_pixel
+ : gui.back_pixel;
+ xim_fg_color = (attr & HL_INVERSE) ? gui.back_pixel
+ : gui.norm_pixel;
+ }
#endif
- attr &= ~HL_INVERSE;
- if (cattr & HL_INVERSE)
- {
- cc = cbg;
- cbg = cfg;
- cfg = cc;
- }
- cattr &= ~HL_INVERSE;
+ attr &= ~HL_INVERSE;
+ if (cattr & HL_INVERSE)
+ {
+ cc = cbg;
+ cbg = cfg;
+ cfg = cc;
+ }
+ cattr &= ~HL_INVERSE;
+
+ /*
+ * When we don't have window focus, draw a hollow cursor.
+ */
+ if (!gui.in_focus)
+ {
+ gui_mch_draw_hollow_cursor(cbg);
+ return;
+ }
+ old_hl_mask = gui.highlight_mask;
+ if (shape->shape == SHAPE_BLOCK)
+ {
/*
- * When we don't have window focus, draw a hollow cursor.
+ * Draw the text character with the cursor colors. Use the
+ * character attributes plus the cursor attributes.
*/
- if (!gui.in_focus)
+ gui.highlight_mask = (cattr | attr);
+ (void)gui_screenchar(LineOffset[gui.row] + gui.col,
+ GUI_MON_IS_CURSOR | GUI_MON_NOCLEAR, cfg, cbg, 0);
+ }
+ else
+ {
+#if defined(FEAT_RIGHTLEFT)
+ int col_off = FALSE;
+#endif
+ /*
+ * First draw the partial cursor, then overwrite with the text
+ * character, using a transparent background.
+ */
+ if (shape->shape == SHAPE_VER)
{
- gui_mch_draw_hollow_cursor(cbg);
- return;
+ cur_height = gui.char_height;
+ cur_width = (gui.char_width * shape->percentage + 99) / 100;
}
-
- old_hl_mask = gui.highlight_mask;
- if (shape->shape == SHAPE_BLOCK)
+ else
{
- /*
- * Draw the text character with the cursor colors. Use the
- * character attributes plus the cursor attributes.
- */
- gui.highlight_mask = (cattr | attr);
- (void)gui_screenchar(LineOffset[gui.row] + gui.col,
- GUI_MON_IS_CURSOR | GUI_MON_NOCLEAR, cfg, cbg, 0);
+ cur_height = (gui.char_height * shape->percentage + 99) / 100;
+ cur_width = gui.char_width;
}
- else
+ if (has_mbyte && (*mb_off2cells)(LineOffset[gui.row] + gui.col,
+ LineOffset[gui.row] + screen_Columns) > 1)
{
-#if defined(FEAT_RIGHTLEFT)
- int col_off = FALSE;
-#endif
- /*
- * First draw the partial cursor, then overwrite with the text
- * character, using a transparent background.
- */
- if (shape->shape == SHAPE_VER)
- {
- cur_height = gui.char_height;
- cur_width = (gui.char_width * shape->percentage + 99) / 100;
- }
- else
+ // Double wide character.
+ if (shape->shape != SHAPE_VER)
+ cur_width += gui.char_width;
+#ifdef FEAT_RIGHTLEFT
+ if (CURSOR_BAR_RIGHT)
{
- cur_height = (gui.char_height * shape->percentage + 99) / 100;
- cur_width = gui.char_width;
+ // gui.col points to the left half of the character but
+ // the vertical line needs to be on the right half.
+ // A double-wide horizontal line is also drawn from the
+ // right half in gui_mch_draw_part_cursor().
+ col_off = TRUE;
+ ++gui.col;
}
- if (has_mbyte && (*mb_off2cells)(LineOffset[gui.row] + gui.col,
- LineOffset[gui.row] + screen_Columns) > 1)
- {
- // Double wide character.
- if (shape->shape != SHAPE_VER)
- cur_width += gui.char_width;
-#ifdef FEAT_RIGHTLEFT
- if (CURSOR_BAR_RIGHT)
- {
- // gui.col points to the left half of the character but
- // the vertical line needs to be on the right half.
- // A double-wide horizontal line is also drawn from the
- // right half in gui_mch_draw_part_cursor().
- col_off = TRUE;
- ++gui.col;
- }
#endif
- }
- gui_mch_draw_part_cursor(cur_width, cur_height, cbg);
+ }
+ gui_mch_draw_part_cursor(cur_width, cur_height, cbg);
#if defined(FEAT_RIGHTLEFT)
- if (col_off)
- --gui.col;
+ if (col_off)
+ --gui.col;
#endif
#ifndef FEAT_GUI_MSWIN // doesn't seem to work for MSWindows
- gui.highlight_mask = ScreenAttrs[LineOffset[gui.row] + gui.col];
- (void)gui_screenchar(LineOffset[gui.row] + gui.col,
- GUI_MON_TRS_CURSOR | GUI_MON_NOCLEAR,
- (guicolor_T)0, (guicolor_T)0, 0);
+ gui.highlight_mask = ScreenAttrs[LineOffset[gui.row] + gui.col];
+ (void)gui_screenchar(LineOffset[gui.row] + gui.col,
+ GUI_MON_TRS_CURSOR | GUI_MON_NOCLEAR,
+ (guicolor_T)0, (guicolor_T)0, 0);
#endif
- }
- gui.highlight_mask = old_hl_mask;
}
+ gui.highlight_mask = old_hl_mask;
}
#if defined(FEAT_MENU) || defined(PROTO)
@@ -2054,13 +2055,13 @@ gui_write(
void
gui_dont_update_cursor(int undraw)
{
- if (gui.in_use)
- {
- // Undraw the cursor now, we probably can't do it after the change.
- if (undraw)
- gui_undraw_cursor();
- can_update_cursor = FALSE;
- }
+ if (!gui.in_use)
+ return;
+
+ // Undraw the cursor now, we probably can't do it after the change.
+ if (undraw)
+ gui_undraw_cursor();
+ can_update_cursor = FALSE;
}
void
@@ -2679,23 +2680,23 @@ gui_outstr_nowrap(
void
gui_undraw_cursor(void)
{
- if (gui.cursor_is_valid)
- {
- // Always redraw the character just before if there is one, because
- // with some fonts and characters there can be a one pixel overlap.
- int startcol = gui.cursor_col > 0 ? gui.cursor_col - 1 : gui.cursor_col;
- int endcol = gui.cursor_col;
+ if (!gui.cursor_is_valid)
+ return;
+
+ // Always redraw the character just before if there is one, because
+ // with some fonts and characters there can be a one pixel overlap.
+ int startcol = gui.cursor_col > 0 ? gui.cursor_col - 1 : gui.cursor_col;
+ int endcol = gui.cursor_col;
#ifdef FEAT_GUI_GTK
- gui_adjust_undraw_cursor_for_ligatures(&startcol, &endcol);
+ gui_adjust_undraw_cursor_for_ligatures(&startcol, &endcol);
#endif
- gui_redraw_block(gui.cursor_row, startcol,
- gui.cursor_row, endcol, GUI_MON_NOCLEAR);
+ gui_redraw_block(gui.cursor_row, startcol,
+ gui.cursor_row, endcol, GUI_MON_NOCLEAR);
- // Cursor_is_valid is reset when the cursor is undrawn, also reset it
- // here in case it wasn't needed to undraw it.
- gui.cursor_is_valid = FALSE;
- }
+ // Cursor_is_valid is reset when the cursor is undrawn, also reset it
+ // here in case it wasn't needed to undraw it.
+ gui.cursor_is_valid = FALSE;
}
void
@@ -3559,137 +3560,137 @@ gui_init_which_components(char_u *oldval UNUSED)
break;
}
- if (gui.in_use)
- {
- need_set_size = 0;
- fix_size = FALSE;
+ if (!gui.in_use)
+ return;
+
+ need_set_size = 0;
+ fix_size = FALSE;
#ifdef FEAT_GUI_DARKTHEME
- if (using_dark_theme != prev_dark_theme)
- {
- gui_mch_set_dark_theme(using_dark_theme);
- prev_dark_theme = using_dark_theme;
- }
+ if (using_dark_theme != prev_dark_theme)
+ {
+ gui_mch_set_dark_theme(using_dark_theme);
+ prev_dark_theme = using_dark_theme;
+ }
#endif
#ifdef FEAT_GUI_TABLINE
- // Update the GUI tab line, it may appear or disappear. This may
- // cause the non-GUI tab line to disappear or appear.
- using_tabline = gui_has_tabline();
- if (!gui_mch_showing_tabline() != !using_tabline)
- {
- // We don't want a resize event change "Rows" here, save and
- // restore it. Resizing is handled below.
- i = Rows;
- gui_update_tabline();
- Rows = i;
- need_set_size |= RESIZE_VERT;
- if (using_tabline)
- fix_size = TRUE;
- if (!gui_use_tabline())
- redraw_tabline = TRUE; // may draw non-GUI tab line
- }
+ // Update the GUI tab line, it may appear or disappear. This may
+ // cause the non-GUI tab line to disappear or appear.
+ using_tabline = gui_has_tabline();
+ if (!gui_mch_showing_tabline() != !using_tabline)
+ {
+ // We don't want a resize event change "Rows" here, save and
+ // restore it. Resizing is handled below.
+ i = Rows;
+ gui_update_tabline();
+ Rows = i;
+ need_set_size |= RESIZE_VERT;
+ if (using_tabline)
+ fix_size = TRUE;
+ if (!gui_use_tabline())
+ redraw_tabline = TRUE; // may draw non-GUI tab line
+ }
#endif
- for (i = 0; i < 3; i++)
+ for (i = 0; i < 3; i++)
+ {
+ // The scrollbar needs to be updated when it is shown/unshown and
+ // when switching tab pages. But the size only changes when it's
+ // shown/unshown. Thus we need two places to remember whether a
+ // scrollbar is there or not.
+ if (gui.which_scrollbars[i] != prev_which_scrollbars[i]
+ || gui.which_scrollbars[i]
+ != curtab->tp_prev_which_scrollbars[i])
{
- // The scrollbar needs to be updated when it is shown/unshown and
- // when switching tab pages. But the size only changes when it's
- // shown/unshown. Thus we need two places to remember whether a
- // scrollbar is there or not.
- if (gui.which_scrollbars[i] != prev_which_scrollbars[i]
- || gui.which_scrollbars[i]
- != curtab->tp_prev_which_scrollbars[i])
+ if (i == SBAR_BOTTOM)
+ gui_mch_enable_scrollbar(&gui.bottom_sbar,
+ gui.which_scrollbars[i]);
+ else
+ {
+ FOR_ALL_WINDOWS(wp)
+ gui_do_scrollbar(wp, i, gui.which_scrollbars[i]);
+ }
+ if (gui.which_scrollbars[i] != prev_which_scrollbars[i])
{
if (i == SBAR_BOTTOM)
- gui_mch_enable_scrollbar(&gui.bottom_sbar,
- gui.which_scrollbars[i]);
+ need_set_size |= RESIZE_VERT;
else
- {
- FOR_ALL_WINDOWS(wp)
- gui_do_scrollbar(wp, i, gui.which_scrollbars[i]);
- }
- if (gui.which_scrollbars[i] != prev_which_scrollbars[i])
- {
- if (i == SBAR_BOTTOM)
- need_set_size |= RESIZE_VERT;
- else
- need_set_size |= RESIZE_HOR;
- if (gui.which_scrollbars[i])
- fix_size = TRUE;
- }
+ need_set_size |= RESIZE_HOR;
+ if (gui.which_scrollbars[i])
+ fix_size = TRUE;
}
- curtab->tp_prev_which_scrollbars[i] = gui.which_scrollbars[i];
- prev_which_scrollbars[i] = gui.which_scrollbars[i];
}
+ curtab->tp_prev_which_scrollbars[i] = gui.which_scrollbars[i];
+ prev_which_scrollbars[i] = gui.which_scrollbars[i];
+ }
#ifdef FEAT_MENU
- if (gui.menu_is_active != prev_menu_is_active)
- {
- // We don't want a resize event change "Rows" here, save and
- // restore it. Resizing is handled below.
- i = Rows;
- gui_mch_enable_menu(gui.menu_is_active);
- Rows = i;
- prev_menu_is_active = gui.menu_is_active;
- need_set_size |= RESIZE_VERT;
- if (gui.menu_is_active)
- fix_size = TRUE;
- }
+ if (gui.menu_is_active != prev_menu_is_active)
+ {
+ // We don't want a resize event change "Rows" here, save and
+ // restore it. Resizing is handled below.
+ i = Rows;
+ gui_mch_enable_menu(gui.menu_is_active);
+ Rows = i;
+ prev_menu_is_active = gui.menu_is_active;
+ need_set_size |= RESIZE_VERT;
+ if (gui.menu_is_active)
+ fix_size = TRUE;
+ }
#endif
#ifdef FEAT_TOOLBAR
- if (using_toolbar != prev_toolbar)
- {
- gui_mch_show_toolbar(using_toolbar);
- prev_toolbar = using_toolbar;
- need_set_size |= RESIZE_VERT;
- if (using_toolbar)
- fix_size = TRUE;
- }
+ if (using_toolbar != prev_toolbar)
+ {
+ gui_mch_show_toolbar(using_toolbar);
+ prev_toolbar = using_toolbar;
+ need_set_size |= RESIZE_VERT;
+ if (using_toolbar)
+ fix_size = TRUE;
+ }
#endif
#if defined(FEAT_MENU) && !(defined(MSWIN) && !defined(FEAT_TEAROFF))
- if (using_tearoff != prev_tearoff)
- {
- gui_mch_toggle_tearoffs(using_tearoff);
- prev_tearoff = using_tearoff;
- }
+ if (using_tearoff != prev_tearoff)
+ {
+ gui_mch_toggle_tearoffs(using_tearoff);
+ prev_tearoff = using_tearoff;
+ }
#endif
- if (need_set_size != 0)
- {
+ if (need_set_size != 0)
+ {
#ifdef FEAT_GUI_GTK
- long prev_Columns = Columns;
- long prev_Rows = Rows;
+ long prev_Columns = Columns;
+ long prev_Rows = Rows;
#endif
- // Adjust the size of the window to make the text area keep the
- // same size and to avoid that part of our window is off-screen
- // and a scrollbar can't be used, for example.
- gui_set_shellsize(FALSE, fix_size, need_set_size);
+ // Adjust the size of the window to make the text area keep the
+ // same size and to avoid that part of our window is off-screen
+ // and a scrollbar can't be used, for example.
+ gui_set_shellsize(FALSE, fix_size, need_set_size);
#ifdef FEAT_GUI_GTK
- // GTK has the annoying habit of sending us resize events when
- // changing the window size ourselves. This mostly happens when
- // waiting for a character to arrive, quite unpredictably, and may
- // change Columns and Rows when we don't want it. Wait for a
- // character here to avoid this effect.
- // If you remove this, please test this command for resizing
- // effects (with optional left scrollbar): ":vsp|q|vsp|q|vsp|q".
- // Don't do this while starting up though.
- // Don't change Rows when adding menu/toolbar/tabline.
- // Don't change Columns when adding vertical toolbar.
- if (!gui.starting && need_set_size != (RESIZE_VERT | RESIZE_HOR))
- (void)char_avail();
- if ((need_set_size & RESIZE_VERT) == 0)
- Rows = prev_Rows;
- if ((need_set_size & RESIZE_HOR) == 0)
- Columns = prev_Columns;
+ // GTK has the annoying habit of sending us resize events when
+ // changing the window size ourselves. This mostly happens when
+ // waiting for a character to arrive, quite unpredictably, and may
+ // change Columns and Rows when we don't want it. Wait for a
+ // character here to avoid this effect.
+ // If you remove this, please test this command for resizing
+ // effects (with optional left scrollbar): ":vsp|q|vsp|q|vsp|q".
+ // Don't do this while starting up though.
+ // Don't change Rows when adding menu/toolbar/tabline.
+ // Don't change Columns when adding vertical toolbar.
+ if (!gui.starting && need_set_size != (RESIZE_VERT | RESIZE_HOR))
+ (void)char_avail();
+ if ((need_set_size & RESIZE_VERT) == 0)
+ Rows = prev_Rows;
+ if ((need_set_size & RESIZE_HOR) == 0)
+ Columns = prev_Columns;
#endif
- }
- // When the console tabline appears or disappears the window positions
- // change.
- if (firstwin->w_winrow != tabline_height())
- shell_new_rows(); // recompute window positions and heights
}
+ // When the console tabline appears or disappears the window positions
+ // change.
+ if (firstwin->w_winrow != tabline_height())
+ shell_new_rows(); // recompute window positions and heights
}
#if defined(FEAT_GUI_TABLINE) || defined(PROTO)
@@ -4768,7 +4769,7 @@ gui_mouse_focus(int x, int y)
return;
/*
- * format a mouse click on status line input
+ * Format a mouse click on status line input,
* ala gui_send_mouse_event(0, x, y, 0, 0);
* Trick: Use a column number -1, so that get_pseudo_mouse_code() will
* generate a K_LEFTMOUSE_NM key code.
@@ -4852,13 +4853,14 @@ gui_mouse_correct(void)
need_mouse_correct = FALSE;
wp = gui_mouse_window(IGNORE_POPUP);
- if (wp != curwin && wp != NULL) // If in other than current window
- {
- validate_cline_row();
- gui_mch_setmouse((int)W_ENDCOL(curwin) * gui.char_width - 3,
- (W_WINROW(curwin) + curwin->w_wrow) * gui.char_height
- + (gui.char_height) / 2);
- }
+ if (wp == curwin || wp == NULL)
+ return;
+
+ // If in other than current window
+ validate_cline_row();
+ gui_mch_setmouse((int)W_ENDCOL(curwin) * gui.char_width - 3,
+ (W_WINROW(curwin) + curwin->w_wrow) * gui.char_height
+ + (gui.char_height) / 2);
}
/*
@@ -5014,22 +5016,26 @@ display_errors(void)
char_u *p;
if (isatty(2))
- fflush(stderr);
- else if (error_ga.ga_data != NULL)
{
- // avoid putting up a message box with blanks only
- for (p = (char_u *)error_ga.ga_data; *p != NUL; ++p)
- if (!isspace(*p))
- {
- // Truncate a very long message, it will go off-screen.
- if (STRLEN(p) > 2000)
- STRCPY(p + 2000 - 14, "...(truncated)");
- (void)do_dialog(VIM_ERROR, (char_u *)_("Error"),
- p, (char_u *)_("&Ok"), 1, NULL, FALSE);
- break;
- }
- ga_clear(&error_ga);
+ fflush(stderr);
+ return;
}
+
+ if (error_ga.ga_data == NULL)
+ return;
+
+ // avoid putting up a message box with blanks only
+ for (p = (char_u *)error_ga.ga_data; *p != NUL; ++p)
+ if (!isspace(*p))
+ {
+ // Truncate a very long message, it will go off-screen.
+ if (STRLEN(p) > 2000)
+ STRCPY(p + 2000 - 14, "...(truncated)");
+ (void)do_dialog(VIM_ERROR, (char_u *)_("Error"),
+ p, (char_u *)_("&Ok"), 1, NULL, FALSE);
+ break;
+ }
+ ga_clear(&error_ga);
}
#endif
@@ -5339,12 +5345,12 @@ gui_wingoto_xy(int x, int y)
int col = X_2_COL(x);
win_T *wp;
- if (row >= 0 && col >= 0)
- {
- wp = mouse_find_win(&row, &col, FAIL_POPUP);
- if (wp != NULL && wp != curwin)
- win_goto(wp);
- }
+ if (row < 0 || col < 0)
+ return;
+
+ wp = mouse_find_win(&row, &col, FAIL_POPUP);
+ if (wp != NULL && wp != curwin)
+ win_goto(wp);
}
/*
diff --git a/src/gui_beval.c b/src/gui_beval.c
index e1b0e4bfd9..daeac8f3b7 100644
--- a/src/gui_beval.c
+++ b/src/gui_beval.c
@@ -373,40 +373,40 @@ pointer_event(BalloonEval *beval, int x, int y, unsigned state)
distance = ABS(x - beval->x) + ABS(y - beval->y);
- if