patch 7.4.2243
Problem: Warning for assigning negative value to unsigned. (Danek Duvall)
Solution: Make cterm_normal_fg_gui_color and _bg_ guicolor_T, cast to long_u
only when an unsigned is needed.
This commit is contained in:
@ -368,8 +368,8 @@ EXTERN int cterm_normal_fg_color INIT(= 0);
|
||||
EXTERN int cterm_normal_fg_bold INIT(= 0);
|
||||
EXTERN int cterm_normal_bg_color INIT(= 0);
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
EXTERN long_u cterm_normal_fg_gui_color INIT(= INVALCOLOR);
|
||||
EXTERN long_u cterm_normal_bg_gui_color INIT(= INVALCOLOR);
|
||||
EXTERN guicolor_T cterm_normal_fg_gui_color INIT(= INVALCOLOR);
|
||||
EXTERN guicolor_T cterm_normal_bg_gui_color INIT(= INVALCOLOR);
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_AUTOCMD
|
||||
|
||||
@ -4741,7 +4741,7 @@ gui_get_color(char_u *name)
|
||||
int
|
||||
gui_get_lightness(guicolor_T pixel)
|
||||
{
|
||||
long_u rgb = gui_mch_get_rgb(pixel);
|
||||
long_u rgb = (long_u)gui_mch_get_rgb(pixel);
|
||||
|
||||
return (int)( (((rgb >> 16) & 0xff) * 299)
|
||||
+ (((rgb >> 8) & 0xff) * 587)
|
||||
|
||||
@ -7020,7 +7020,7 @@ gui_mch_enable_scrollbar(scrollbar_T *sb, int flag)
|
||||
/*
|
||||
* Return the RGB value of a pixel as long.
|
||||
*/
|
||||
long_u
|
||||
guicolor_T
|
||||
gui_mch_get_rgb(guicolor_T pixel)
|
||||
{
|
||||
#if GTK_CHECK_VERSION(3,0,0)
|
||||
@ -7031,9 +7031,10 @@ gui_mch_get_rgb(guicolor_T pixel)
|
||||
gdk_colormap_query_color(gtk_widget_get_colormap(gui.drawarea),
|
||||
(unsigned long)pixel, &color);
|
||||
|
||||
return (((unsigned)color.red & 0xff00) << 8)
|
||||
return (guicolor_T)(
|
||||
(((unsigned)color.red & 0xff00) << 8)
|
||||
| ((unsigned)color.green & 0xff00)
|
||||
| (((unsigned)color.blue & 0xff00) >> 8);
|
||||
| (((unsigned)color.blue & 0xff00) >> 8));
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@ -5181,10 +5181,10 @@ gui_mch_start_blink(void)
|
||||
/*
|
||||
* Return the RGB value of a pixel as long.
|
||||
*/
|
||||
long_u
|
||||
guicolor_T
|
||||
gui_mch_get_rgb(guicolor_T pixel)
|
||||
{
|
||||
return (Red(pixel) << 16) + (Green(pixel) << 8) + Blue(pixel);
|
||||
return (guicolor_T)((Red(pixel) << 16) + (Green(pixel) << 8) + Blue(pixel));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -1933,10 +1933,11 @@ gui_mch_setmouse(int x, int y)
|
||||
/*
|
||||
* Return the RGB value of a pixel as a long.
|
||||
*/
|
||||
long_u
|
||||
guicolor_T
|
||||
gui_mch_get_rgb(guicolor_T pixel)
|
||||
{
|
||||
return PgRGB(PgRedValue(pixel), PgGreenValue(pixel), PgBlueValue(pixel));
|
||||
return (guicolor_T)(PgRGB(PgRedValue(pixel),
|
||||
PgGreenValue(pixel), PgBlueValue(pixel)));
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@ -2263,11 +2263,11 @@ SaveInst(HINSTANCE hInst)
|
||||
/*
|
||||
* Return the RGB value of a pixel as a long.
|
||||
*/
|
||||
long_u
|
||||
guicolor_T
|
||||
gui_mch_get_rgb(guicolor_T pixel)
|
||||
{
|
||||
return (GetRValue(pixel) << 16) + (GetGValue(pixel) << 8)
|
||||
+ GetBValue(pixel);
|
||||
return (guicolor_T)((GetRValue(pixel) << 16) + (GetGValue(pixel) << 8)
|
||||
+ GetBValue(pixel));
|
||||
}
|
||||
|
||||
#if defined(FEAT_GUI_DIALOG) || defined(PROTO)
|
||||
|
||||
@ -3095,7 +3095,7 @@ gui_x11_blink_cb(
|
||||
/*
|
||||
* Return the RGB value of a pixel as a long.
|
||||
*/
|
||||
long_u
|
||||
guicolor_T
|
||||
gui_mch_get_rgb(guicolor_T pixel)
|
||||
{
|
||||
XColor xc;
|
||||
@ -3105,8 +3105,8 @@ gui_mch_get_rgb(guicolor_T pixel)
|
||||
xc.pixel = pixel;
|
||||
XQueryColor(gui.dpy, colormap, &xc);
|
||||
|
||||
return ((xc.red & 0xff00) << 8) + (xc.green & 0xff00)
|
||||
+ ((unsigned)xc.blue >> 8);
|
||||
return (guicolor_T)(((xc.red & 0xff00) << 8) + (xc.green & 0xff00)
|
||||
+ ((unsigned)xc.blue >> 8));
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@ -66,7 +66,7 @@ void gui_mch_menu_grey(vimmenu_T *menu, int grey);
|
||||
void gui_mch_menu_hidden(vimmenu_T *menu, int hidden);
|
||||
void gui_mch_draw_menubar(void);
|
||||
void gui_mch_enable_scrollbar(scrollbar_T *sb, int flag);
|
||||
long_u gui_mch_get_rgb(guicolor_T pixel);
|
||||
guicolor_T gui_mch_get_rgb(guicolor_T pixel);
|
||||
void gui_mch_getmouse(int *x, int *y);
|
||||
void gui_mch_setmouse(int x, int y);
|
||||
void gui_mch_mousehide(int hide);
|
||||
|
||||
@ -78,7 +78,7 @@ void gui_mch_menu_grey(vimmenu_T *menu, int grey);
|
||||
void gui_mch_menu_hidden(vimmenu_T *menu, int hidden);
|
||||
void gui_mch_draw_menubar(void);
|
||||
int gui_mch_get_lightness(guicolor_T pixel);
|
||||
long_u gui_mch_get_rgb(guicolor_T pixel);
|
||||
guicolor_T gui_mch_get_rgb(guicolor_T pixel);
|
||||
int gui_mch_get_mouse_x(void);
|
||||
int gui_mch_get_mouse_y(void);
|
||||
void gui_mch_setmouse(int x, int y);
|
||||
|
||||
@ -25,7 +25,7 @@ void mch_set_mouse_shape(int shape);
|
||||
void gui_mch_mousehide(int hide);
|
||||
void gui_mch_getmouse(int *x, int *y);
|
||||
void gui_mch_setmouse(int x, int y);
|
||||
long_u gui_mch_get_rgb(guicolor_T pixel);
|
||||
guicolor_T gui_mch_get_rgb(guicolor_T pixel);
|
||||
void gui_mch_new_colors(void);
|
||||
guicolor_T gui_mch_get_color(char_u *name);
|
||||
void gui_mch_set_fg_color(guicolor_T color);
|
||||
|
||||
@ -35,7 +35,7 @@ void gui_mch_enable_menu(int flag);
|
||||
void gui_mch_set_menu_pos(int x, int y, int w, int h);
|
||||
void gui_mch_menu_hidden(vimmenu_T *menu, int hidden);
|
||||
void gui_mch_draw_menubar(void);
|
||||
long_u gui_mch_get_rgb(guicolor_T pixel);
|
||||
guicolor_T gui_mch_get_rgb(guicolor_T pixel);
|
||||
void gui_mch_activate_window(void);
|
||||
void gui_mch_show_toolbar(int showit);
|
||||
void gui_mch_show_tabline(int showit);
|
||||
|
||||
@ -24,7 +24,7 @@ void gui_mch_free_fontset(GuiFontset fontset);
|
||||
GuiFontset gui_mch_get_fontset(char_u *name, int giveErrorIfMissing, int fixed_width);
|
||||
int fontset_height(XFontSet fs);
|
||||
int fontset_height2(XFontSet fs);
|
||||
guicolor_T gui_mch_get_color(char_u *reqname);
|
||||
guicolor_T gui_mch_get_color(char_u *name);
|
||||
void gui_mch_set_fg_color(guicolor_T color);
|
||||
void gui_mch_set_bg_color(guicolor_T color);
|
||||
void gui_mch_set_sp_color(guicolor_T color);
|
||||
@ -58,7 +58,7 @@ int gui_mch_is_blink_off(void);
|
||||
void gui_mch_set_blinking(long waittime, long on, long off);
|
||||
void gui_mch_stop_blink(void);
|
||||
void gui_mch_start_blink(void);
|
||||
long_u gui_mch_get_rgb(guicolor_T pixel);
|
||||
guicolor_T gui_mch_get_rgb(guicolor_T pixel);
|
||||
void gui_x11_callbacks(Widget textArea, Widget vimForm);
|
||||
void gui_mch_getmouse(int *x, int *y);
|
||||
void gui_mch_setmouse(int x, int y);
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/* term.c */
|
||||
guicolor_T termgui_mch_get_color(char_u *name);
|
||||
guicolor_T termgui_get_color(char_u *name);
|
||||
long_u termgui_mch_get_rgb(guicolor_T color);
|
||||
guicolor_T termgui_mch_get_rgb(guicolor_T color);
|
||||
int set_termname(char_u *term);
|
||||
void set_mouse_termcode(int n, char_u *s);
|
||||
void del_mouse_termcode(int n);
|
||||
@ -25,8 +25,8 @@ void term_set_winpos(int x, int y);
|
||||
void term_set_winsize(int width, int height);
|
||||
void term_fg_color(int n);
|
||||
void term_bg_color(int n);
|
||||
void term_fg_rgb_color(long_u rgb);
|
||||
void term_bg_rgb_color(long_u rgb);
|
||||
void term_fg_rgb_color(guicolor_T rgb);
|
||||
void term_bg_rgb_color(guicolor_T rgb);
|
||||
void term_settitle(char_u *title);
|
||||
void ttest(int pairs);
|
||||
void add_long_to_buf(long_u val, char_u *dst);
|
||||
|
||||
23
src/screen.c
23
src/screen.c
@ -7865,7 +7865,7 @@ screen_start_highlight(int attr)
|
||||
else if (aep != NULL && cterm_normal_fg_bold &&
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
(p_tgc ?
|
||||
(aep->ae_u.cterm.fg_rgb != (long_u)INVALCOLOR):
|
||||
(aep->ae_u.cterm.fg_rgb != INVALCOLOR):
|
||||
#endif
|
||||
(t_colors > 1 && aep->ae_u.cterm.fg_color)
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
@ -7894,9 +7894,9 @@ screen_start_highlight(int attr)
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
if (p_tgc)
|
||||
{
|
||||
if (aep->ae_u.cterm.fg_rgb != (long_u)INVALCOLOR)
|
||||
if (aep->ae_u.cterm.fg_rgb != INVALCOLOR)
|
||||
term_fg_rgb_color(aep->ae_u.cterm.fg_rgb);
|
||||
if (aep->ae_u.cterm.bg_rgb != (long_u)INVALCOLOR)
|
||||
if (aep->ae_u.cterm.bg_rgb != INVALCOLOR)
|
||||
term_bg_rgb_color(aep->ae_u.cterm.bg_rgb);
|
||||
}
|
||||
else
|
||||
@ -7956,8 +7956,8 @@ screen_stop_highlight(void)
|
||||
if (aep != NULL &&
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
(p_tgc ?
|
||||
(aep->ae_u.cterm.fg_rgb != (long_u)INVALCOLOR ||
|
||||
aep->ae_u.cterm.bg_rgb != (long_u)INVALCOLOR):
|
||||
(aep->ae_u.cterm.fg_rgb != INVALCOLOR
|
||||
|| aep->ae_u.cterm.bg_rgb != INVALCOLOR):
|
||||
#endif
|
||||
(aep->ae_u.cterm.fg_color || aep->ae_u.cterm.bg_color)
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
@ -8014,9 +8014,9 @@ screen_stop_highlight(void)
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
if (p_tgc)
|
||||
{
|
||||
if (cterm_normal_fg_gui_color != (long_u)INVALCOLOR)
|
||||
if (cterm_normal_fg_gui_color != INVALCOLOR)
|
||||
term_fg_rgb_color(cterm_normal_fg_gui_color);
|
||||
if (cterm_normal_bg_gui_color != (long_u)INVALCOLOR)
|
||||
if (cterm_normal_bg_gui_color != INVALCOLOR)
|
||||
term_bg_rgb_color(cterm_normal_bg_gui_color);
|
||||
}
|
||||
else
|
||||
@ -8049,10 +8049,9 @@ reset_cterm_colors(void)
|
||||
{
|
||||
/* set Normal cterm colors */
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
if (p_tgc ?
|
||||
(cterm_normal_fg_gui_color != (long_u)INVALCOLOR
|
||||
|| cterm_normal_bg_gui_color != (long_u)INVALCOLOR):
|
||||
(cterm_normal_fg_color > 0 || cterm_normal_bg_color > 0))
|
||||
if (p_tgc ? (cterm_normal_fg_gui_color != INVALCOLOR
|
||||
|| cterm_normal_bg_gui_color != INVALCOLOR)
|
||||
: (cterm_normal_fg_color > 0 || cterm_normal_bg_color > 0))
|
||||
#else
|
||||
if (cterm_normal_fg_color > 0 || cterm_normal_bg_color > 0)
|
||||
#endif
|
||||
@ -8983,7 +8982,7 @@ can_clear(char_u *p)
|
||||
|| gui.in_use
|
||||
#endif
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
|| (p_tgc && cterm_normal_bg_gui_color == (long_u)INVALCOLOR)
|
||||
|| (p_tgc && cterm_normal_bg_gui_color == INVALCOLOR)
|
||||
|| (!p_tgc && cterm_normal_bg_color == 0)
|
||||
#else
|
||||
|| cterm_normal_bg_color == 0
|
||||
|
||||
@ -92,8 +92,7 @@ typedef struct {
|
||||
# ifdef FEAT_XCLIPBOARD
|
||||
# include <X11/Intrinsic.h>
|
||||
# endif
|
||||
# define guicolor_T long_u /* avoid error in prototypes and
|
||||
* make FEAT_TERMGUICOLORS work */
|
||||
# define guicolor_T long
|
||||
# define INVALCOLOR ((guicolor_T)0x1ffffff)
|
||||
#endif
|
||||
|
||||
@ -929,8 +928,8 @@ typedef struct attr_entry
|
||||
short_u fg_color; /* foreground color number */
|
||||
short_u bg_color; /* background color number */
|
||||
# ifdef FEAT_TERMGUICOLORS
|
||||
long_u fg_rgb; /* foreground color RGB */
|
||||
long_u bg_rgb; /* background color RGB */
|
||||
guicolor_T fg_rgb; /* foreground color RGB */
|
||||
guicolor_T bg_rgb; /* background color RGB */
|
||||
# endif
|
||||
} cterm;
|
||||
# ifdef FEAT_GUI
|
||||
|
||||
10
src/syntax.c
10
src/syntax.c
@ -8488,7 +8488,7 @@ color_name2handle(char_u *name)
|
||||
return gui.norm_pixel;
|
||||
#endif
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
if (cterm_normal_fg_gui_color != (long_u)INVALCOLOR)
|
||||
if (cterm_normal_fg_gui_color != INVALCOLOR)
|
||||
return cterm_normal_fg_gui_color;
|
||||
/* Guess that the foreground is black or white. */
|
||||
return GUI_GET_COLOR((char_u *)(*p_bg == 'l' ? "black" : "white"));
|
||||
@ -8503,7 +8503,7 @@ color_name2handle(char_u *name)
|
||||
return gui.back_pixel;
|
||||
#endif
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
if (cterm_normal_bg_gui_color != (long_u)INVALCOLOR)
|
||||
if (cterm_normal_bg_gui_color != INVALCOLOR)
|
||||
return cterm_normal_bg_gui_color;
|
||||
/* Guess that the background is white or black. */
|
||||
return GUI_GET_COLOR((char_u *)(*p_bg == 'l' ? "white" : "black"));
|
||||
@ -8782,9 +8782,9 @@ hl_combine_attr(int char_attr, int prim_attr)
|
||||
if (spell_aep->ae_u.cterm.bg_color > 0)
|
||||
new_en.ae_u.cterm.bg_color = spell_aep->ae_u.cterm.bg_color;
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
if (spell_aep->ae_u.cterm.fg_rgb != (long_u)INVALCOLOR)
|
||||
if (spell_aep->ae_u.cterm.fg_rgb != INVALCOLOR)
|
||||
new_en.ae_u.cterm.fg_rgb = spell_aep->ae_u.cterm.fg_rgb;
|
||||
if (spell_aep->ae_u.cterm.bg_rgb != (long_u)INVALCOLOR)
|
||||
if (spell_aep->ae_u.cterm.bg_rgb != INVALCOLOR)
|
||||
new_en.ae_u.cterm.bg_rgb = spell_aep->ae_u.cterm.bg_rgb;
|
||||
#endif
|
||||
}
|
||||
@ -9076,7 +9076,7 @@ highlight_color(
|
||||
color = HL_TABLE()[id - 1].sg_gui_bg;
|
||||
if (color == INVALCOLOR)
|
||||
return NULL;
|
||||
rgb = GUI_MCH_GET_RGB(color);
|
||||
rgb = (long_u)GUI_MCH_GET_RGB(color);
|
||||
sprintf((char *)buf, "#%02x%02x%02x",
|
||||
(unsigned)(rgb >> 16),
|
||||
(unsigned)(rgb >> 8) & 255,
|
||||
|
||||
38
src/term.c
38
src/term.c
@ -77,9 +77,6 @@ struct builtin_term
|
||||
static struct builtin_term *find_builtin_term(char_u *name);
|
||||
static void parse_builtin_tcap(char_u *s);
|
||||
static void term_color(char_u *s, int n);
|
||||
#ifdef FEAT_TERMGUICOLORS
|
||||
static void term_rgb_color(char_u *s, long_u rgb);
|
||||
#endif
|
||||
static void gather_termleader(void);
|
||||
#ifdef FEAT_TERMRESPONSE
|
||||
static void req_codes_from_term(void);
|
||||
@ -1282,10 +1279,10 @@ termgui_get_color(char_u *name)
|
||||
return t;
|
||||
}
|
||||
|
||||
long_u
|
||||
guicolor_T
|
||||
termgui_mch_get_rgb(guicolor_T color)
|
||||
{
|
||||
return (long_u)color;
|
||||
return color;
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -2634,24 +2631,13 @@ term_color(char_u *s, int n)
|
||||
}
|
||||
|
||||
#if defined(FEAT_TERMGUICOLORS) || defined(PROTO)
|
||||
void
|
||||
term_fg_rgb_color(long_u rgb)
|
||||
{
|
||||
term_rgb_color(T_8F, rgb);
|
||||
}
|
||||
|
||||
void
|
||||
term_bg_rgb_color(long_u rgb)
|
||||
{
|
||||
term_rgb_color(T_8B, rgb);
|
||||
}
|
||||
|
||||
#define RED(rgb) ((rgb>>16)&0xFF)
|
||||
#define GREEN(rgb) ((rgb>> 8)&0xFF)
|
||||
#define BLUE(rgb) ((rgb )&0xFF)
|
||||
#define RED(rgb) (((long_u)(rgb) >> 16) & 0xFF)
|
||||
#define GREEN(rgb) (((long_u)(rgb) >> 8) & 0xFF)
|
||||
#define BLUE(rgb) (((long_u)(rgb) ) & 0xFF)
|
||||
|
||||
static void
|
||||
term_rgb_color(char_u *s, long_u rgb)
|
||||
term_rgb_color(char_u *s, guicolor_T rgb)
|
||||
{
|
||||
#define MAX_COLOR_STR_LEN 100
|
||||
char buf[MAX_COLOR_STR_LEN];
|
||||
@ -2660,6 +2646,18 @@ term_rgb_color(char_u *s, long_u rgb)
|
||||
(char *)s, RED(rgb), GREEN(rgb), BLUE(rgb));
|
||||
OUT_STR(buf);
|
||||
}
|
||||
|
||||
void
|
||||
term_fg_rgb_color(guicolor_T rgb)
|
||||
{
|
||||
term_rgb_color(T_8F, rgb);
|
||||
}
|
||||
|
||||
void
|
||||
term_bg_rgb_color(guicolor_T rgb)
|
||||
{
|
||||
term_rgb_color(T_8B, rgb);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if (defined(FEAT_TITLE) && (defined(UNIX) || defined(VMS) \
|
||||
|
||||
@ -763,6 +763,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
2243,
|
||||
/**/
|
||||
2242,
|
||||
/**/
|
||||
|
||||
Reference in New Issue
Block a user