summaryrefslogtreecommitdiffstats
path: root/src/gui.c
AgeCommit message (Collapse)Author
2024-05-20patch 9.1.0426: too many strlen() calls in search.cv9.1.0426John Marriott
Problem: too many strlen() calls in search.c Solution: refactor code and remove more strlen() calls, use explicit variable to remember strlen (John Marriott) closes: #14796 Signed-off-by: John Marriott <basilisk@internode.on.net> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-26patch 9.1.0139: MS-Windows: ligatures map cleared on startupv9.1.0139Erik S. V. Jansson
Problem: MS-Windows: ligatures map cleared on startup Solution: Don't clear the ligatures_map, if the guiligatures option has already been set (Erik S. V. Jansson) If guiligatures is set from a .vimrc it's possible that it will be cleared on start-up (e.g. in Win32 that's what happens). So don't clear the ligatures map if gui_set_ligatures() has already been called (e.g. after setting 'ligatures' from .vimrc) closes: #14094 Signed-off-by: Erik S. V. Jansson <caffeineviking@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-02-24patch 9.1.0133: MS-Windows: ligatures not rendering correctlyv9.1.0133Erik S. V. Jansson
Problem: font ligatures don't render correctly in the Win32 GUI-version of gvim even when set rop=type:directx is used. Setting guiligatures also doesn't make any difference. This leads to broken font ligatures when the cursor passes through them. It does not recover from this, and they remain broken until you re-render the whole buffer (e.g. by using Ctrl+L). Solution: the problem is that we only re-draw the current and previous character in gui_undraw_cursor() and only have the special case for GTK when it comes to rendering ligatures. So let's enable gui_adjust_undraw_cursor_for_ligatures() to also happen for Win32 GUI if guiligatures is setup correctly (all this does is expand the range of gui_undraw_cursor() with ligature characters). related: #9181 related: #12901 closes: #14084 Signed-off-by: Erik S. V. Jansson <caffeineviking@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-29patch 9.1.0064: No Wayland supportv9.1.0064lilydjwg
Problem: No Wayland support Solution: Add Wayland UI support (lilydjwg) closes: #9639 Signed-off-by: lilydjwg <lilydjwg@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-23patch 9.1.0047: issues with temp curwin/buf while cmdwin is openv9.1.0047Sean Dewar
Problem: Things that temporarily change/restore curwin/buf (e.g: win_execute, some autocmds) may break assumptions that curwin/buf is the cmdwin when "cmdwin_type != 0", causing issues. Solution: Expose the cmdwin's real win/buf and check that instead. Also try to ensure these variables are NULL if "cmdwin_type == 0", allowing them to be used directly in most cases without checking cmdwin_type. (Sean Dewar) Alternatively, we could ban win_execute in the cmdwin and audit all places that temporarily change/restore curwin/buf, but I didn't notice any problems arising from allowing this (standard cmdwin restrictions still apply, so things that may actually break the cmdwin are still forbidden). closes: #12819 Signed-off-by: Sean Dewar <seandewar@users.noreply.github.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-01-04patch 9.1.0006: is*() and to*() function may be unsafev9.1.0006Keith Thompson
Problem: is*() and to*() function may be unsafe Solution: Add SAFE_* macros and start using those instead (Keith Thompson) Use SAFE_() macros for is*() and to*() functions The standard is*() and to*() functions declared in <ctype.h> have undefined behavior for negative arguments other than EOF. If plain char is signed, passing an unchecked value from argv for from user input to one of these functions has undefined behavior. Solution: Add SAFE_*() macros that cast the argument to unsigned char. Most implementations behave sanely for negative arguments, and most character values in practice are non-negative, but it's still best to avoid undefined behavior. The change from #13347 has been omitted, as this has already been separately fixed in commit ac709e2fc0db6d31abb7da96f743c40956b60c3a (v9.0.2054) fixes: #13332 closes: #13347 Signed-off-by: Keith Thompson <Keith.S.Thompson@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-05patch 9.0.1992: [security] segfault in exmodev9.0.1992Christian Brabandt
Problem: segfault in exmode when redrawing Solution: skip gui_scroll when exmode_active Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-05-24patch 9.0.1576: users may not know what to do with an internal errorv9.0.1576Bram Moolenaar
Problem: Users may not know what to do with an internal error. Solution: Add a translated message with instructions.
2023-04-13patch 9.0.1450: MacOS: building fails if clock_gettime() is not availablev9.0.1450Bram Moolenaar
Problem: MacOS: building fails if clock_gettime() is not available. Solution: Add a configure check for clock_gettime(). (closes #12242)
2023-02-19patch 9.0.1328: error when using "none" for GUI color is confusingv9.0.1328Bram Moolenaar
Problem: Error when using "none" for GUI color is confusing. Solution: Mention that the name should perhaps be "NONE". (closes #1400)
2023-01-08patch 9.0.1158: code is indented more than necessaryv9.0.1158Yegappan Lakshmanan
Problem: Code is indented more than necessary. Solution: Use an early return where it makes sense. (Yegappan Lakshmanan, closes #11787)
2022-11-22patch 9.0.0917: the WinScrolled autocommand event is not enoughv9.0.0917Bram Moolenaar
Problem: The WinScrolled autocommand event is not enough. Solution: Add WinResized and provide information about what changed. (closes #11576)
2022-11-15patch 9.0.0886: horizontal mouse scroll only works in the GUIv9.0.0886Christopher Plewright
Problem: Horizontal mouse scroll only works in the GUI. Solution: Make horizontal mouse scroll also work in a terminal. (Christopher Plewright, closes #11448)
2022-11-14patch 9.0.0880: preprocessor indenting is offv9.0.0880K.Takata
Problem: Preprocessor indenting is off. Solution: Adjust preprocessor indentation. (Ken Takata, closes #11546)
2022-11-07patch 9.0.0844: handling 'statusline' errors is spread outv9.0.0844Luuk van Baal
Problem: Handling 'statusline' errors is spread out. Solution: Pass the option name to the lower levels so the option can be reset there when an error is encountered. (Luuk van Baal, closes #11467)
2022-11-06patch 9.0.0838: compiler warnings for unused variablesv9.0.0838Bram Moolenaar
Problem: Compiler warnings for unused variables. Solution: Addjust #ifdef and remove unused variables. (John Marriott)
2022-10-04patch 9.0.0657: too many #ifdefsv9.0.0657Martin Tournoij
Problem: Too many #ifdefs. Solution: Graduate the +cmdwin feature. Now the tiny and small builds are equal, drop the small build. (Martin Tournoij, closes #11268)
2022-09-06patch 9.0.0396: :findrepl does not escape '&' and '~' properlyv9.0.0396matveyt
Problem: :findrepl does not escape '&' and '~' properly. Solution: Escape depending on the value of 'magic'. (closes #11067)
2022-09-04patch 9.0.0375: the footer feature is unusedv9.0.0375Bram Moolenaar
Problem: The footer feature is unused. Solution: Remove FEAT_FOOTER and code.
2022-08-14patch 9.0.0206: redraw flags are not named specificallyv9.0.0206Bram Moolenaar
Problem: Redraw flags are not named specifically. Solution: Prefix "UPD_" to the flags, for UPDate_screen().
2022-07-12patch 9.0.0050: split else-of is confusingv9.0.0050Bram Moolenaar
Problem: Split else-of is confusing. Solution: Join the lines. (closes #10696)
2022-06-29patch 9.0.0007: no support for double, dotted and dashed underlinesv9.0.0007Bram Moolenaar
Problem: No support for double, dotted and dashed underlines. Solution: Add the termcap entries and highlight modes. (closes #9553)
2022-06-29patch 9.0.0003: functions are global while they could be localv9.0.0003Yegappan Lakshmanan
Problem: Functions are global while they could be local. Solution: Add "static". Add a few tests. (Yegappan Lakshmanan, closes #10612)
2022-06-16patch 8.2.5113: timer becomes invalid after fork/exec, :gui gives errorsv8.2.5113Bram Moolenaar
Problem: Timer becomes invalid after fork/exec, :gui gives errors. (Gabriel Dupras) Solution: Delete the timer befor forking. (closes #10584)
2022-06-13patch 8.2.5084: when the GUI shows a dialog tests get stuckv8.2.5084Bram Moolenaar
Problem: When the GUI shows a dialog tests get stuck. Solution: Add the --gui-dialog-file argument.
2022-05-09patch 8.2.4928: various white space and cosmetic mistakesv8.2.4928Bram Moolenaar
Problem: Various white space and cosmetic mistakes. Solution: Change spaces to tabs, improve comments.
2022-05-07patch 8.2.4911: the mode #defines are not clearly namedv8.2.4911Bram Moolenaar
Problem: The mode #defines are not clearly named. Solution: Prepend MODE_. Renumber them to put the mapped modes first.
2022-04-15patch 8.2.4753: error from setting an option is silently ignoredv8.2.4753Bram Moolenaar
Problem: Error from setting an option is silently ignored. Solution: Handle option value errors better. Fix uses of N_().
2022-04-12patch 8.2.4739: accessing freed memory after WinScrolled autocmd eventv8.2.4739zeertzjq
Problem: Accessing freed memory after WinScrolled autocmd event. Solution: Check the window pointer is still valid. (closes #10156) Remove the argument from may_trigger_winscrolled().
2022-04-08patch 8.2.4713: plugins cannot track text scrollingv8.2.4713LemonBoy
Problem: Plugins cannot track text scrolling. Solution: Add the WinScrolled event. (closes #10102)
2022-04-03patch 8.2.4677: the Athena GUI support is outdatedv8.2.4677Bram Moolenaar
Problem: The Athena GUI support is outdated. Solution: Remove the Athena GUI code.
2022-04-03patch 8.2.4674: cannot force getting MouseMove eventsv8.2.4674Ernie Rael
Problem: Cannot force getting MouseMove events. Solution: Add the 'mousemoveevent' option with implementaiton for the GUI. (Ernie Rael, closes #10044)
2022-03-24patch 8.2.4619: mapping is cancelled when mouse moves and popup is visiblev8.2.4619Bram Moolenaar
Problem: Mapping is cancelled when mouse moves and popup is visible. Solution: Only generate mouse moved events when a popup may use them. (closes #10004)
2022-02-03patch 8.2.4288: preprocessor indents are inconsistentv8.2.4288K.Takata
Problem: Preprocessor indents are inconsistent. Solution: Fix preprocessor indents. (Ken Takata, closes #9691)
2022-01-31patch 8.2.4273: the EBCDIC support is outdatedv8.2.4273Bram Moolenaar
Problem: The EBCDIC support is outdated. Solution: Remove the EBCDIC support.
2022-01-27patch 8.2.4230: MS-Windows: set_guifontwide() is included but won't workv8.2.4230K.Takata
Problem: MS-Windows: set_guifontwide() is included but won't work. Solution: Include set_guifontwide() only for X11. (Ken Takata, closes #9640)
2022-01-16patch 8.2.4109: MS-Windows: high dpi support is outdatedv8.2.4109K.Takata
Problem: MS-Windows: high dpi support is outdated. Solution: Improve High DPI support by using PerMonitorV2. (closes #9525, closes #3102)
2022-01-05patch 8.2.4010: error messages are spread outv8.2.4010Bram Moolenaar
Problem: Error messages are spread out. Solution: Move more error messages to errors.h.
2022-01-04patch 8.2.4005: error messages are spread outv8.2.4005Bram Moolenaar
Problem: Error messages are spread out. Solution: Move more error messages to errors.h.
2022-01-02patch 8.2.3987: error messages are spread outv8.2.3987Bram Moolenaar
Problem: Error messages are spread out. Solution: Move more error messages to errors.h.
2022-01-01patch 8.2.3975: error messages are spread outv8.2.3975Bram Moolenaar
Problem: Error messages are spread out. Solution: Move more error messages to errors.h.
2021-12-31patch 8.2.3959: error messages are spread outv8.2.3959Bram Moolenaar
Problem: Error messages are spread out. Solution: Move more errors to errors.h.
2021-12-27patch 8.2.3914: various spelling mistakes in commentsv8.2.3914Dominique Pelle
Problem: Various spelling mistakes in comments. Solution: Fix the mistakes. (Dominique Pellé, closes #9416)
2021-11-29patch 8.2.3699: the +title feature adds a lot of #ifdef but little codev8.2.3699Bram Moolenaar
Problem: The +title feature adds a lot of #ifdef but little code. Solution: Graduate the +title feature.
2021-11-28patch 8.2.3691: build failure with small featuresv8.2.3691Bram Moolenaar
Problem: Build failure with small features. Solution: Add #ifdef. (Dominique Pellé)
2021-11-28patch 8.2.3688: the window title is not updated when dragging the scrollbarv8.2.3688Christian Brabandt
Problem: The window title is not updated when dragging the scrollbar. Solution: Call maketitle(). (Christian Brabandt, closes #9238, closes #5383)
2021-11-22patch 8.2.3648: "verbose pwd" is incorrect after dropping files on Vimv8.2.3648Bram Moolenaar
Problem: "verbose pwd" is incorrect after dropping files on Vim. Solution: Set the chdir reason to "drop".
2021-11-22patch 8.2.3647: GTK: when using ligatures the cursor is drawn wrongv8.2.3647Dusan Popovic
Problem: GTK: when using ligatures the cursor is drawn wrong. Solution: Clear more characters when ligatures are used. (Dusan Popovic, closes #9190)
2021-10-24patch 8.2.3562: cannot add color namesv8.2.3562Drew Vogel
Problem: Cannot add color names. Solution: Add the v:colornames dictionary. (Drew Vogel, closes #8761)
2021-10-16patch 8.2.3524: GUI: ligatures are not usedv8.2.3524Dusan Popovic
Problem: GUI: ligatures are not used. Solution: Add the 'guiligatures' option. (Dusan Popovic, closes #8933)