diff options
author | Neil <nyamatongwe@gmail.com> | 2019-03-27 08:34:16 +1100 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2019-03-27 08:34:16 +1100 |
commit | ff4e7e74e24d88194e01a78f9c5b2649bbcc1a59 (patch) | |
tree | d8ec063c8a5a7afc16022005bd4fe109b22a763e /gtk | |
parent | a29736e309ee7d0b8ca588674024c2deb6923090 (diff) | |
download | scintilla-mirror-ff4e7e74e24d88194e01a78f9c5b2649bbcc1a59.tar.gz |
Replace NULL/0 with nullptr. Mark noexcept where simple.
Move some static functions into anonymous namespace.
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/Converter.h | 12 | ||||
-rw-r--r-- | gtk/PlatGTK.cxx | 203 | ||||
-rw-r--r-- | gtk/ScintillaGTK.cxx | 127 | ||||
-rw-r--r-- | gtk/ScintillaGTK.h | 6 | ||||
-rw-r--r-- | gtk/ScintillaGTKAccessible.cxx | 94 |
5 files changed, 224 insertions, 218 deletions
diff --git a/gtk/Converter.h b/gtk/Converter.h index 0ef80ae23..fa9a101f1 100644 --- a/gtk/Converter.h +++ b/gtk/Converter.h @@ -15,14 +15,14 @@ const gsize sizeFailure = static_cast<gsize>(-1); */ class Converter { GIConv iconvh; - void OpenHandle(const char *fullDestination, const char *charSetSource) { + void OpenHandle(const char *fullDestination, const char *charSetSource) noexcept { iconvh = g_iconv_open(fullDestination, charSetSource); } - bool Succeeded() const { + bool Succeeded() const noexcept { return iconvh != iconvhBad; } public: - Converter() { + Converter() noexcept { iconvh = iconvhBad; } Converter(const char *charSetDestination, const char *charSetSource, bool transliterations) { @@ -32,7 +32,7 @@ public: ~Converter() { Close(); } - operator bool() const { + operator bool() const noexcept { return Succeeded(); } void Open(const char *charSetDestination, const char *charSetSource, bool transliterations) { @@ -50,13 +50,13 @@ public: } } } - void Close() { + void Close() noexcept { if (Succeeded()) { g_iconv_close(iconvh); iconvh = iconvhBad; } } - gsize Convert(char** src, gsize *srcleft, char **dst, gsize *dstleft) const { + gsize Convert(char** src, gsize *srcleft, char **dst, gsize *dstleft) const noexcept { if (!Succeeded()) { return sizeFailure; } else { diff --git a/gtk/PlatGTK.cxx b/gtk/PlatGTK.cxx index 40e87c428..fd37b0a6a 100644 --- a/gtk/PlatGTK.cxx +++ b/gtk/PlatGTK.cxx @@ -33,51 +33,57 @@ #include "Converter.h" -static const double kPi = 3.14159265358979323846; +#ifdef _MSC_VER +// Ignore unreferenced local functions in GTK+ headers +#pragma warning(disable: 4505) +#endif + +using namespace Scintilla; + +namespace { + +const double kPi = 3.14159265358979323846; // The Pango version guard for pango_units_from_double and pango_units_to_double // is more complex than simply implementing these here. -static int pangoUnitsFromDouble(double d) { +int pangoUnitsFromDouble(double d) noexcept { return static_cast<int>(d * PANGO_SCALE + 0.5); } -static double doubleFromPangoUnits(int pu) { +double doubleFromPangoUnits(int pu) noexcept { return static_cast<double>(pu) / PANGO_SCALE; } -static cairo_surface_t *CreateSimilarSurface(GdkWindow *window, cairo_content_t content, int width, int height) { +cairo_surface_t *CreateSimilarSurface(GdkWindow *window, cairo_content_t content, int width, int height) noexcept { return gdk_window_create_similar_surface(window, content, width, height); } -static GdkWindow *WindowFromWidget(GtkWidget *w) { +GdkWindow *WindowFromWidget(GtkWidget *w) noexcept { return gtk_widget_get_window(w); } -#ifdef _MSC_VER -// Ignore unreferenced local functions in GTK+ headers -#pragma warning(disable: 4505) -#endif - -using namespace Scintilla; +GtkWidget *PWidget(WindowID wid) noexcept { + return static_cast<GtkWidget *>(wid); +} -enum encodingType { singleByte, UTF8, dbcs}; +enum encodingType { singleByte, UTF8, dbcs }; // Holds a PangoFontDescription*. class FontHandle { public: PangoFontDescription *pfd; int characterSet; - FontHandle() : pfd(0), characterSet(-1) { + FontHandle() noexcept : pfd(nullptr), characterSet(-1) { } - FontHandle(PangoFontDescription *pfd_, int characterSet_) { + FontHandle(PangoFontDescription *pfd_, int characterSet_) noexcept { pfd = pfd_; characterSet = characterSet_; } ~FontHandle() { if (pfd) pango_font_description_free(pfd); - pfd = 0; + pfd = nullptr; } static FontHandle *CreateNewFont(const FontParameters &fp); }; @@ -93,21 +99,19 @@ FontHandle *FontHandle::CreateNewFont(const FontParameters &fp) { return new FontHandle(pfd,fp.characterSet); } - return NULL; + return nullptr; } // X has a 16 bit coordinate space, so stop drawing here to avoid wrapping -static const int maxCoordinate = 32000; +const int maxCoordinate = 32000; -static FontHandle *PFont(Font &f) { +FontHandle *PFont(const Font &f) noexcept { return static_cast<FontHandle *>(f.GetID()); } -static GtkWidget *PWidget(WindowID wid) { - return static_cast<GtkWidget *>(wid); } -Font::Font() noexcept : fid(0) {} +Font::Font() noexcept : fid(nullptr) {} Font::~Font() {} @@ -119,7 +123,7 @@ void Font::Create(const FontParameters &fp) { void Font::Release() { if (fid) delete static_cast<FontHandle *>(fid); - fid = 0; + fid = nullptr; } // Required on OS X @@ -140,14 +144,14 @@ class SurfaceImpl : public Surface { int characterSet; void SetConverter(int characterSet_); public: - SurfaceImpl(); + SurfaceImpl() noexcept; ~SurfaceImpl() override; void Init(WindowID wid) override; void Init(SurfaceID sid, WindowID wid) override; void InitPixMap(int width, int height, Surface *surface_, WindowID wid) override; - void Clear(); + void Clear() noexcept; void Release() override; bool Initialised() override; void PenColour(ColourDesired fore) override; @@ -190,7 +194,7 @@ public: }; } -const char *CharacterSetID(int characterSet) { +const char *CharacterSetID(int characterSet) noexcept { switch (characterSet) { case SC_CHARSET_ANSI: return ""; @@ -248,33 +252,33 @@ void SurfaceImpl::SetConverter(int characterSet_) { } } -SurfaceImpl::SurfaceImpl() : et(singleByte), -context(0), -psurf(0), -x(0), y(0), inited(false), createdGC(false) -, pcontext(0), layout(0), characterSet(-1) { +SurfaceImpl::SurfaceImpl() noexcept : et(singleByte), +context(nullptr), +psurf(nullptr), +x(0), y(0), inited(false), createdGC(false), +pcontext(nullptr), layout(nullptr), characterSet(-1) { } SurfaceImpl::~SurfaceImpl() { Clear(); } -void SurfaceImpl::Clear() { +void SurfaceImpl::Clear() noexcept { et = singleByte; if (createdGC) { createdGC = false; cairo_destroy(context); } - context = 0; + context = nullptr; if (psurf) cairo_surface_destroy(psurf); - psurf = 0; + psurf = nullptr; if (layout) g_object_unref(layout); - layout = 0; + layout = nullptr; if (pcontext) g_object_unref(pcontext); - pcontext = 0; + pcontext = nullptr; conv.Close(); characterSet = -1; x = 0; @@ -311,8 +315,8 @@ void SurfaceImpl::Init(WindowID wid) { Release(); PLATFORM_ASSERT(wid); // if we are only created from a window ID, we can't perform drawing - psurf = 0; - context = 0; + psurf = nullptr; + context = nullptr; createdGC = false; pcontext = gtk_widget_create_pango_context(PWidget(wid)); PLATFORM_ASSERT(pcontext); @@ -388,7 +392,7 @@ void SurfaceImpl::MoveTo(int x_, int y_) { y = y_; } -static int Delta(int difference) { +static int Delta(int difference) noexcept { if (difference < 0) return -1; else if (difference > 0) @@ -468,7 +472,7 @@ void SurfaceImpl::FillRectangle(PRectangle rc, ColourDesired back) { void SurfaceImpl::FillRectangle(PRectangle rc, Surface &surfacePattern) { SurfaceImpl &surfi = static_cast<SurfaceImpl &>(surfacePattern); - bool canDraw = surfi.psurf != NULL; + bool canDraw = surfi.psurf != nullptr; if (canDraw) { PLATFORM_ASSERT(context); // Tile pattern over rectangle @@ -510,7 +514,7 @@ void SurfaceImpl::RoundedRectangle(PRectangle rc, ColourDesired fore, ColourDesi } } -static void PathRoundRectangle(cairo_t *context, double left, double top, double width, double height, int radius) { +static void PathRoundRectangle(cairo_t *context, double left, double top, double width, double height, int radius) noexcept { double degrees = kPi / 180.0; cairo_new_sub_path(context); @@ -619,7 +623,7 @@ void SurfaceImpl::Ellipse(PRectangle rc, ColourDesired fore, ColourDesired back) void SurfaceImpl::Copy(PRectangle rc, Point from, Surface &surfaceSource) { SurfaceImpl &surfi = static_cast<SurfaceImpl &>(surfaceSource); - bool canDraw = surfi.psurf != NULL; + bool canDraw = surfi.psurf != nullptr; if (canDraw) { PLATFORM_ASSERT(context); cairo_set_source_surface(context, surfi.psurf, @@ -744,19 +748,19 @@ public: XYPOSITION position; XYPOSITION distance; int curIndex; - ClusterIterator(PangoLayout *layout, size_t len) : lenPositions(len), finished(false), + ClusterIterator(PangoLayout *layout, size_t len) noexcept : lenPositions(len), finished(false), positionStart(0), position(0), distance(0), curIndex(0) { iter = pango_layout_get_iter(layout); - pango_layout_iter_get_cluster_extents(iter, NULL, &pos); + pango_layout_iter_get_cluster_extents(iter, nullptr, &pos); } ~ClusterIterator() { pango_layout_iter_free(iter); } - void Next() { + void Next() noexcept { positionStart = position; if (pango_layout_iter_next_cluster(iter)) { - pango_layout_iter_get_cluster_extents(iter, NULL, &pos); + pango_layout_iter_get_cluster_extents(iter, nullptr, &pos); position = doubleFromPangoUnits(pos.x); curIndex = pango_layout_iter_get_index(iter); } else { @@ -845,7 +849,7 @@ void SurfaceImpl::MeasureWidths(Font &font_, std::string_view text, XYPOSITION * if (rtlCheck && ((clusterEnd <= clusterStart) || (ligatureLength == 0) || (ligatureLength > 3))) { // Something has gone wrong: exit quickly but pretend all the characters are equally spaced: int widthLayout = 0; - pango_layout_get_size(layout, &widthLayout, NULL); + pango_layout_get_size(layout, &widthLayout, nullptr); XYPOSITION widthTotal = doubleFromPangoUnits(widthLayout); for (size_t bytePos=0; bytePos<lenPositions; bytePos++) { positions[bytePos] = widthTotal / lenPositions * (bytePos + 1); @@ -891,7 +895,7 @@ XYPOSITION SurfaceImpl::WidthText(Font &font_, std::string_view text) { pango_layout_set_text(layout, utfForm.c_str(), utfForm.length()); } PangoLayoutLine *pangoLine = pango_layout_get_line_readonly(layout,0); - pango_layout_line_get_extents(pangoLine, NULL, &pos); + pango_layout_line_get_extents(pangoLine, nullptr, &pos); return doubleFromPangoUnits(pos.width); } return 1; @@ -984,7 +988,7 @@ void Window::Destroy() { } else { gtk_widget_destroy(GTK_WIDGET(wid)); } - wid = 0; + wid = nullptr; } } @@ -1163,7 +1167,7 @@ struct ListImage { GdkPixbuf *pixbuf; }; -static void list_image_free(gpointer, gpointer value, gpointer) { +static void list_image_free(gpointer, gpointer value, gpointer) noexcept { ListImage *list_image = static_cast<ListImage *>(value); if (list_image->pixbuf) g_object_unref(list_image->pixbuf); @@ -1200,28 +1204,29 @@ class ListBoxX : public ListBox { public: IListBoxDelegate *delegate; - ListBoxX() : widCached(0), frame(0), list(0), scroller(0), pixhash(NULL), pixbuf_renderer(0), - renderer(0), + ListBoxX() noexcept : widCached(nullptr), frame(nullptr), list(nullptr), scroller(nullptr), + pixhash(nullptr), pixbuf_renderer(nullptr), + renderer(nullptr), desiredVisibleRows(5), maxItemCharacters(0), aveCharWidth(1), #if GTK_CHECK_VERSION(3,0,0) - cssProvider(NULL), + cssProvider(nullptr), #endif delegate(nullptr) { } ~ListBoxX() override { if (pixhash) { - g_hash_table_foreach((GHashTable *) pixhash, list_image_free, NULL); + g_hash_table_foreach((GHashTable *) pixhash, list_image_free, nullptr); g_hash_table_destroy((GHashTable *) pixhash); } if (widCached) { gtk_widget_destroy(GTK_WIDGET(widCached)); - wid = widCached = 0; + wid = widCached = nullptr; } #if GTK_CHECK_VERSION(3,0,0) if (cssProvider) { g_object_unref(cssProvider); - cssProvider = NULL; + cssProvider = nullptr; } #endif } @@ -1259,7 +1264,7 @@ static int treeViewGetRowHeight(GtkTreeView *view) { // version is inaccurate for GTK 3.14. GdkRectangle rect; GtkTreePath *path = gtk_tree_path_new_first(); - gtk_tree_view_get_background_area(view, path, NULL, &rect); + gtk_tree_view_get_background_area(view, path, nullptr, &rect); gtk_tree_path_free(path); return rect.height; #else @@ -1267,10 +1272,10 @@ static int treeViewGetRowHeight(GtkTreeView *view) { int vertical_separator=0; int expander_size=0; GtkTreeViewColumn *column = gtk_tree_view_get_column(view, 0); - gtk_tree_view_column_cell_get_size(column, NULL, NULL, NULL, NULL, &row_height); + gtk_tree_view_column_cell_get_size(column, nullptr, nullptr, nullptr, nullptr, &row_height); gtk_widget_style_get(GTK_WIDGET(view), "vertical-separator", &vertical_separator, - "expander-size", &expander_size, NULL); + "expander-size", &expander_size, nullptr); row_height += vertical_separator; row_height = std::max(row_height, expander_size); return row_height; @@ -1304,7 +1309,7 @@ static void small_scroller_get_preferred_height(GtkWidget *widget, gint *min, gi GtkWidget *child = gtk_bin_get_child(GTK_BIN(widget)); if (GTK_IS_TREE_VIEW(child)) { GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(child)); - int n_rows = gtk_tree_model_iter_n_children(model, NULL); + int n_rows = gtk_tree_model_iter_n_children(model, nullptr); int row_height = treeViewGetRowHeight(GTK_TREE_VIEW(child)); *min = MAX(1, row_height); @@ -1365,7 +1370,7 @@ static gboolean ButtonRelease(GtkWidget *, GdkEventButton* ev, gpointer p) { scheme that it would use if it had the focus. */ static void StyleSet(GtkWidget *w, GtkStyle*, void*) { - g_return_if_fail(w != NULL); + g_return_if_fail(w != nullptr); /* Copy the selected color to active. Note that the modify calls will cause recursive calls to this function after the value is updated and w->style to @@ -1377,7 +1382,7 @@ static void StyleSet(GtkWidget *w, GtkStyle*, void*) { // The *override* calls are deprecated now, so only call them for older versions of GTK+. #elif GTK_CHECK_VERSION(3,0,0) GtkStyleContext *styleContext = gtk_widget_get_style_context(w); - if (styleContext == NULL) + if (styleContext == nullptr) return; GdkRGBA colourForeSelected; @@ -1388,7 +1393,7 @@ static void StyleSet(GtkWidget *w, GtkStyle*, void*) { gtk_widget_override_color(w, GTK_STATE_FLAG_ACTIVE, &colourForeSelected); styleContext = gtk_widget_get_style_context(w); - if (styleContext == NULL) + if (styleContext == nullptr) return; GdkRGBA colourBaseSelected; @@ -1399,12 +1404,12 @@ static void StyleSet(GtkWidget *w, GtkStyle*, void*) { gtk_widget_override_background_color(w, GTK_STATE_FLAG_ACTIVE, &colourBaseSelected); #else GtkStyle *style = gtk_widget_get_style(w); - if (style == NULL) + if (style == nullptr) return; if (!gdk_color_equal(&style->base[GTK_STATE_SELECTED], &style->base[GTK_STATE_ACTIVE])) gtk_widget_modify_base(w, GTK_STATE_ACTIVE, &style->base[GTK_STATE_SELECTED]); style = gtk_widget_get_style(w); - if (style == NULL) + if (style == nullptr) return; if (!gdk_color_equal(&style->text[GTK_STATE_SELECTED], &style->text[GTK_STATE_ACTIVE])) gtk_widget_modify_text(w, GTK_STATE_ACTIVE, &style->text[GTK_STATE_SELECTED]); @@ -1412,7 +1417,7 @@ static void StyleSet(GtkWidget *w, GtkStyle*, void*) { } void ListBoxX::Create(Window &parent, int, Point, int, bool, int) { - if (widCached != 0) { + if (widCached != nullptr) { wid = widCached; return; } @@ -1425,13 +1430,13 @@ void ListBoxX::Create(Window &parent, int, Point, int, bool, int) { wid = widCached = gtk_window_new(GTK_WINDOW_POPUP); - frame = gtk_frame_new(NULL); + frame = gtk_frame_new(nullptr); gtk_widget_show(PWidget(frame)); gtk_container_add(GTK_CONTAINER(GetID()), PWidget(frame)); gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_OUT); gtk_container_set_border_width(GTK_CONTAINER(frame), 0); - scroller = g_object_new(small_scroller_get_type(), NULL); + scroller = g_object_new(small_scroller_get_type(), nullptr); gtk_container_set_border_width(GTK_CONTAINER(scroller), 0); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroller), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); @@ -1443,7 +1448,7 @@ void ListBoxX::Create(Window &parent, int, Point, int, bool, int) { gtk_list_store_new(N_COLUMNS, GDK_TYPE_PIXBUF, G_TYPE_STRING); list = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); - g_signal_connect(G_OBJECT(list), "style-set", G_CALLBACK(StyleSet), NULL); + g_signal_connect(G_OBJECT(list), "style-set", G_CALLBACK(StyleSet), nullptr); #if GTK_CHECK_VERSION(3,0,0) GtkStyleContext *styleContext = gtk_widget_get_style_context(GTK_WIDGET(list)); @@ -1478,7 +1483,7 @@ void ListBoxX::Create(Window &parent, int, Point, int, bool, int) { gtk_tree_view_append_column(GTK_TREE_VIEW(list), column); if (g_object_class_find_property(G_OBJECT_GET_CLASS(list), "fixed-height-mode")) - g_object_set(G_OBJECT(list), "fixed-height-mode", TRUE, NULL); + g_object_set(G_OBJECT(list), "fixed-height-mode", TRUE, nullptr); GtkWidget *widget = PWidget(list); // No code inside the G_OBJECT macro gtk_container_add(GTK_CONTAINER(PWidget(scroller)), widget); @@ -1508,7 +1513,7 @@ void ListBoxX::SetFont(Font &font) { // On GTK < 3.21.0 the units are incorrectly parsed, so a font size in points // need to use the "px" unit. Normally we only get fonts in points here, so // don't bother to handle the case the font is actually in pixels on < 3.21.0. - if (gtk_check_version(3, 21, 0) != NULL || // on < 3.21.0 + if (gtk_check_version(3, 21, 0) != nullptr || // on < 3.21.0 pango_font_description_get_size_is_absolute(pfd)) { ssFontSetting << "px; "; } else { @@ -1517,7 +1522,7 @@ void ListBoxX::SetFont(Font &font) { ssFontSetting << "font-weight:"<< pango_font_description_get_weight(pfd) << "; "; ssFontSetting << "}"; gtk_css_provider_load_from_data(GTK_CSS_PROVIDER(cssProvider), - ssFontSetting.str().c_str(), -1, NULL); + ssFontSetting.str().c_str(), -1, nullptr); } #else gtk_widget_modify_font(PWidget(list), PFont(font)->pfd); @@ -1555,7 +1560,7 @@ PRectangle ListBoxX::GetDesiredRect() { // This, apparently unnecessary call, ensures gtk_tree_view_column_cell_get_size // returns reasonable values. #if GTK_CHECK_VERSION(3,0,0) - gtk_widget_get_preferred_size(GTK_WIDGET(frame), NULL, &req); + gtk_widget_get_preferred_size(GTK_WIDGET(frame), nullptr, &req); #else gtk_widget_size_request(GTK_WIDGET(frame), &req); #endif @@ -1585,7 +1590,7 @@ PRectangle ListBoxX::GetDesiredRect() { gtk_style_context_get_border(styleContextFrameBorder, stateFlagsFrame, &border_border); g_object_unref(styleContextFrameBorder); # else // < 3.20 - if (gtk_check_version(3, 20, 0) == NULL) { + if (gtk_check_version(3, 20, 0) == nullptr) { // default to 1px all around as it's likely what it is, and so we don't miss 2px height // on GTK 3.20 when built against an earlier version. border_border.top = border_border.bottom = border_border.left = border_border.right = 1; @@ -1611,7 +1616,7 @@ PRectangle ListBoxX::GetDesiredRect() { // Add horizontal padding and borders int horizontal_separator=0; gtk_widget_style_get(PWidget(list), - "horizontal-separator", &horizontal_separator, NULL); + "horizontal-separator", &horizontal_separator, nullptr); rc.right += horizontal_separator; #if GTK_CHECK_VERSION(3,0,0) rc.right += (padding.left + padding.right @@ -1627,7 +1632,7 @@ PRectangle ListBoxX::GetDesiredRect() { GtkWidget *vscrollbar = gtk_scrolled_window_get_vscrollbar(GTK_SCROLLED_WINDOW(scroller)); #if GTK_CHECK_VERSION(3,0,0) - gtk_widget_get_preferred_size(vscrollbar, NULL, &req); + gtk_widget_get_preferred_size(vscrollbar, nullptr, &req); #else gtk_widget_size_request(vscrollbar, &req); #endif @@ -1663,15 +1668,15 @@ static void init_pixmap(ListImage *list_image) { list_image->rgba_data->GetWidth(), list_image->rgba_data->GetHeight(), list_image->rgba_data->GetWidth() * 4, - NULL, - NULL); + nullptr, + nullptr); } } #define SPACING 5 void ListBoxX::Append(char *s, int type) { - ListImage *list_image = NULL; + ListImage *list_image = nullptr; if ((type >= 0) && pixhash) { list_image = static_cast<ListImage *>(g_hash_table_lookup((GHashTable *) pixhash , (gconstpointer) GINT_TO_POINTER(type))); @@ -1681,7 +1686,7 @@ void ListBoxX::Append(char *s, int type) { GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(list))); gtk_list_store_append(GTK_LIST_STORE(store), &iter); if (list_image) { - if (NULL == list_image->pixbuf) + if (nullptr == list_image->pixbuf) init_pixmap(list_image); if (list_image->pixbuf) { gtk_list_store_set(GTK_LIST_STORE(store), &iter, @@ -1711,7 +1716,7 @@ void ListBoxX::Append(char *s, int type) { int ListBoxX::Length() { if (wid) return gtk_tree_model_iter_n_children(gtk_tree_view_get_model - (GTK_TREE_VIEW(list)), NULL); + (GTK_TREE_VIEW(list)), nullptr); return 0; } @@ -1726,7 +1731,7 @@ void ListBoxX::Select(int n) { return; } - bool valid = gtk_tree_model_iter_nth_child(model, &iter, NULL, n) != FALSE; + bool valid = gtk_tree_model_iter_nth_child(model, &iter, nullptr, n) != FALSE; if (valid) { gtk_tree_selection_select_iter(selection, &iter); @@ -1777,7 +1782,7 @@ int ListBoxX::GetSelection() { selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(list)); if (gtk_tree_selection_get_selected(selection, &model, &iter)) { GtkTreePath *path = gtk_tree_model_get_path(model, &iter); - int *indices = gtk_tree_path_get_indices(path); + const int *indices = gtk_tree_path_get_indices(path); // Don't free indices. if (indices) index = indices[0]; @@ -1807,10 +1812,10 @@ int ListBoxX::Find(const char *prefix) { } void ListBoxX::GetValue(int n, char *value, int len) { - char *text = NULL; + char *text = nullptr; GtkTreeIter iter; GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(list)); - bool valid = gtk_tree_model_iter_nth_child(model, &iter, NULL, n) != FALSE; + bool valid = gtk_tree_model_iter_nth_child(model, &iter, nullptr, n) != FALSE; if (valid) { gtk_tree_model_get(model, &iter, TEXT_COLUMN, &text, -1); } @@ -1839,7 +1844,7 @@ void ListBoxX::RegisterRGBA(int type, RGBAImage *image) { // Drop icon already registered if (list_image->pixbuf) g_object_unref(list_image->pixbuf); - list_image->pixbuf = NULL; + list_image->pixbuf = nullptr; list_image->rgba_data = image; } else { list_image = g_new0(ListImage, 1); @@ -1872,7 +1877,7 @@ void ListBoxX::SetList(const char *listText, char separator, char typesep) { int count = strlen(listText) + 1; std::vector<char> words(listText, listText+count); char *startword = &words[0]; - char *numword = NULL; + char *numword = nullptr; int i = 0; for (; words[i]; i++) { if (words[i] == separator) { @@ -1881,7 +1886,7 @@ void ListBoxX::SetList(const char *listText, char separator, char typesep) { *numword = '\0'; Append(startword, numword?atoi(numword + 1):-1); startword = &words[0] + i + 1; - numword = NULL; + numword = nullptr; } else if (words[i] == typesep) { numword = &words[0] + i; } @@ -1893,7 +1898,7 @@ void ListBoxX::SetList(const char *listText, char separator, char typesep) { } } -Menu::Menu() noexcept : mid(0) {} +Menu::Menu() noexcept : mid(nullptr) {} void Menu::CreatePopUp() { Destroy(); @@ -1904,7 +1909,7 @@ void Menu::CreatePopUp() { void Menu::Destroy() { if (mid) g_object_unref(G_OBJECT(mid)); - mid = 0; + mid = nullptr; } #if !GTK_CHECK_VERSION(3,22,0) @@ -1920,12 +1925,12 @@ void Menu::Show(Point pt, Window &w) { gtk_widget_show_all(GTK_WIDGET(widget)); #if GTK_CHECK_VERSION(3,22,0) // Rely on GTK+ to do the right thing with positioning - gtk_menu_popup_at_pointer(widget, NULL); + gtk_menu_popup_at_pointer(widget, nullptr); #else GdkRectangle rcMonitor = MonitorRectangleForWidget(PWidget(w.GetID())); GtkRequisition requisition; #if GTK_CHECK_VERSION(3,0,0) - gtk_widget_get_preferred_size(GTK_WIDGET(widget), NULL, &requisition); + gtk_widget_get_preferred_size(GTK_WIDGET(widget), nullptr, &requisition); #else gtk_widget_size_request(GTK_WIDGET(widget), &requisition); #endif @@ -1935,7 +1940,7 @@ void Menu::Show(Point pt, Window &w) { if ((pt.y + requisition.height) > rcMonitor.y + rcMonitor.height) { pt.y = rcMonitor.y + rcMonitor.height - requisition.height; } - gtk_menu_popup(widget, NULL, NULL, MenuPositionFunc, + gtk_menu_popup(widget, nullptr, nullptr, MenuPositionFunc, GINT_TO_POINTER((static_cast<int>(pt.y) << 16) | static_cast<int>(pt.x)), 0, gtk_get_current_event_time()); #endif @@ -1945,31 +1950,31 @@ class DynamicLibraryImpl : public DynamicLibrary { protected: GModule* m; public: - explicit DynamicLibraryImpl(const char *modulePath) { + explicit DynamicLibraryImpl(const char *modulePath) noexcept { m = g_module_open(modulePath, G_MODULE_BIND_LAZY); } ~DynamicLibraryImpl() override { - if (m != NULL) + if (m != nullptr) g_module_close(m); } // Use g_module_symbol to get a pointer to the relevant function. Function FindFunction(const char *name) override { - if (m != NULL) { - gpointer fn_address = NULL; + if (m != nullptr) { + gpointer fn_address = nullptr; gboolean status = g_module_symbol(m, name, &fn_address); if (status) return static_cast<Function>(fn_address); else - return NULL; + return nullptr; } else { - return NULL; + return nullptr; } } bool IsValid() override { - return m != NULL; + return m != nullptr; } }; diff --git a/gtk/ScintillaGTK.cxx b/gtk/ScintillaGTK.cxx index cca365975..12b1aa4dd 100644 --- a/gtk/ScintillaGTK.cxx +++ b/gtk/ScintillaGTK.cxx @@ -130,11 +130,11 @@ enum { TARGET_URI }; -GdkAtom ScintillaGTK::atomClipboard = 0; -GdkAtom ScintillaGTK::atomUTF8 = 0; -GdkAtom ScintillaGTK::atomString = 0; -GdkAtom ScintillaGTK::atomUriList = 0; -GdkAtom ScintillaGTK::atomDROPFILES_DND = 0; +GdkAtom ScintillaGTK::atomClipboard = nullptr; +GdkAtom ScintillaGTK::atomUTF8 = nullptr; +GdkAtom ScintillaGTK::atomString = nullptr; +GdkAtom ScintillaGTK::atomUriList = nullptr; +GdkAtom ScintillaGTK::atomDROPFILES_DND = nullptr; static const GtkTargetEntry clipboardCopyTargets[] = { { (gchar *) "UTF8_STRING", 0, TARGET_UTF8_STRING }, @@ -161,24 +161,25 @@ ScintillaGTK *ScintillaGTK::FromWidget(GtkWidget *widget) { } ScintillaGTK::ScintillaGTK(_ScintillaObject *sci_) : - adjustmentv(0), adjustmenth(0), + adjustmentv(nullptr), adjustmenth(nullptr), verticalScrollBarWidth(30), horizontalScrollBarHeight(30), evbtn(nullptr), buttonMouse(0), capturedMouse(false), dragWasDropped(false), lastKey(0), rectangularSelectionModifier(SCMOD_CTRL), - parentClass(0), - atomSought(0), - im_context(NULL), lastNonCommonScript(PANGO_SCRIPT_INVALID_CODE), + parentClass(nullptr), + atomSought(nullptr), + im_context(nullptr), + lastNonCommonScript(PANGO_SCRIPT_INVALID_CODE), lastWheelMouseDirection(0), wheelMouseIntensity(0), smoothScrollY(0), smoothScrollX(0), - rgnUpdate(0), + rgnUpdate(nullptr), repaintFullWindow(false), styleIdleID(0), accessibilityEnabled(SC_ACCESSIBILITY_ENABLED), - accessible(0) { + accessible(nullptr) { sci = sci_; wMain = GTK_WIDGET(sci); @@ -279,9 +280,9 @@ void ScintillaGTK::RealizeThis(GtkWidget *widget) { gtk_im_context_set_client_window(im_context, WindowFromWidget(widget)); GtkWidget *widtxt = PWidget(wText); // // No code inside the G_OBJECT macro g_signal_connect_after(G_OBJECT(widtxt), "style_set", - G_CALLBACK(ScintillaGTK::StyleSetText), NULL); + G_CALLBACK(ScintillaGTK::StyleSetText), nullptr); g_signal_connect_after(G_OBJECT(widtxt), "realize", - G_CALLBACK(ScintillaGTK::RealizeText), NULL); + G_CALLBACK(ScintillaGTK::RealizeText), nullptr); gtk_widget_realize(widtxt); gtk_widget_realize(PWidget(scrollbarv)); gtk_widget_realize(PWidget(scrollbarh)); @@ -327,7 +328,7 @@ void ScintillaGTK::UnRealizeThis(GtkWidget *widget) { gtk_widget_unrealize(PWidget(wPreedit)); gtk_widget_unrealize(PWidget(wPreeditDraw)); g_object_unref(im_context); - im_context = NULL; + im_context = nullptr; if (GTK_WIDGET_CLASS(parentClass)->unrealize) GTK_WIDGET_CLASS(parentClass)->unrealize(widget); @@ -408,7 +409,7 @@ void ScintillaGTK::ForAll(GtkCallback callback, gpointer callback_data) { void ScintillaGTK::MainForAll(GtkContainer *container, gboolean include_internals, GtkCallback callback, gpointer callback_data) { ScintillaGTK *sciThis = FromWidget((GtkWidget *)container); - if (callback != NULL && include_internals) { + if (callback && include_internals) { sciThis->ForAll(callback, callback_data); } } @@ -427,7 +428,7 @@ public: explicit PreEditString(GtkIMContext *im_context) { gtk_im_context_get_preedit_string(im_context, &str, &attrs, &cursor_pos); - validUTF8 = g_utf8_validate(str, strlen(str), NULL); + validUTF8 = g_utf8_validate(str, strlen(str), nullptr); uniStr = g_utf8_to_ucs4_fast(str, strlen(str), &uniStrLen); pscript = pango_script_for_unichar(uniStr[0]); } @@ -443,9 +444,9 @@ public: gint ScintillaGTK::FocusInThis(GtkWidget *) { try { SetFocusState(true); - if (im_context != NULL) { + if (im_context) { PreEditString pes(im_context); - if (PWidget(wPreedit) != NULL) { + if (PWidget(wPreedit)) { if (strlen(pes.str) > 0) { gtk_widget_show(PWidget(wPreedit)); } else { @@ -470,9 +471,9 @@ gint ScintillaGTK::FocusOutThis(GtkWidget *) { try { SetFocusState(false); - if (PWidget(wPreedit) != NULL) + if (PWidget(wPreedit)) gtk_widget_hide(PWidget(wPreedit)); - if (im_context != NULL) + if (im_context) gtk_im_context_focus_out(im_context); } catch (...) { @@ -492,8 +493,8 @@ void ScintillaGTK::SizeRequest(GtkWidget *widget, GtkRequisition *requisition) { requisition->height = 1; GtkRequisition child_requisition; #if GTK_CHECK_VERSION(3,0,0) - gtk_widget_get_preferred_size(PWidget(sciThis->scrollbarh), NULL, &child_requisition); - gtk_widget_get_preferred_size(PWidget(sciThis->scrollbarv), NULL, &child_requisition); + gtk_widget_get_preferred_size(PWidget(sciThis->scrollbarh), nullptr, &child_requisition); + gtk_widget_get_preferred_size(PWidget(sciThis->scrollbarv), nullptr, &child_requisition); #else gtk_widget_size_request(PWidget(sciThis->scrollbarh), &child_requisition); gtk_widget_size_request(PWidget(sciThis->scrollbarv), &child_requisition); @@ -577,7 +578,7 @@ void ScintillaGTK::Init() { #if GTK_CHECK_VERSION(3,0,0) // we need a runtime check because we don't want double buffering when // running on >= 3.9.2 - if (gtk_check_version(3,9,2) != NULL /* on < 3.9.2 */) + if (gtk_check_version(3,9,2) != nullptr /* on < 3.9.2 */) #endif { #if !GTK_CHECK_VERSION(3,14,0) @@ -636,14 +637,14 @@ void ScintillaGTK::Init() { if (g_object_class_find_property(G_OBJECT_GET_CLASS( G_OBJECT(gtk_settings_get_default())), "gtk-cursor-blink")) { g_object_get(G_OBJECT( - gtk_settings_get_default()), "gtk-cursor-blink", &blinkOn, NULL); + gtk_settings_get_default()), "gtk-cursor-blink", &blinkOn, nullptr); } if (blinkOn && g_object_class_find_property(G_OBJECT_GET_CLASS( G_OBJECT(gtk_settings_get_default())), "gtk-cursor-blink-time")) { gint value; g_object_get(G_OBJECT( - gtk_settings_get_default()), "gtk-cursor-blink-time", &value, NULL); + gtk_settings_get_default()), "gtk-cursor-blink-time", &value, nullptr); caret.period = gint(value / 1.75); } else { caret.period = 0; @@ -664,9 +665,9 @@ void ScintillaGTK::Finalise() { FineTickerCancel(tr); } if (accessible) { - gtk_accessible_set_widget(GTK_ACCESSIBLE(accessible), NULL); + gtk_accessible_set_widget(GTK_ACCESSIBLE(accessible), nullptr); g_object_unref(accessible); - accessible = 0; + accessible = nullptr; } ScintillaBase::Finalise(); @@ -907,7 +908,7 @@ bool ScintillaGTK::SetIdle(bool on) { if (!idler.state) { idler.state = true; idler.idlerID = GUINT_TO_POINTER( - gdk_threads_add_idle_full(G_PRIORITY_DEFAULT_IDLE, IdleCallback, this, NULL)); + gdk_threads_add_idle_full(G_PRIORITY_DEFAULT_IDLE, IdleCallback, this, nullptr)); } } else { // Stop idler, if it's running @@ -1183,7 +1184,7 @@ CaseFolder *ScintillaGTK::CaseFolderForEncoding() { return new CaseFolderDBCS(charSetBuffer); } } - return 0; + return nullptr; } } @@ -1262,7 +1263,7 @@ void ScintillaGTK::Paste() { atomSought = atomUTF8; GtkClipboard *clipBoard = gtk_widget_get_clipboard(GTK_WIDGET(PWidget(wMain)), atomClipboard); - if (clipBoard == NULL) + if (clipBoard == nullptr) return; // helper class for the asynchronous paste not to risk calling in a destroyed ScintillaGTK @@ -1270,7 +1271,7 @@ void ScintillaGTK::Paste() { ScintillaGTK *sci; void Destroyed() override { - sci = 0; + sci = nullptr; } public: @@ -1281,7 +1282,7 @@ void ScintillaGTK::Paste() { static void ClipboardReceived(GtkClipboard *, GtkSelectionData *selection_data, gpointer data) { Helper *self = static_cast<Helper*>(data); - if (self->sci != 0) { + if (self->sci) { self->sci->ReceivedSelection(selection_data); } delete self; @@ -1338,7 +1339,7 @@ void ScintillaGTK::AddToPopUp(const char *label, int cmd, bool enabled) { bool ScintillaGTK::OwnPrimarySelection() { return (wSelection.Created() && (gdk_selection_owner_get(GDK_SELECTION_PRIMARY) == PWindow(wSelection)) && - (PWindow(wSelection) != NULL)); + (PWindow(wSelection) != nullptr)); } void ScintillaGTK::ClaimSelection() { @@ -1352,7 +1353,7 @@ void ScintillaGTK::ClaimSelection() { } else if (OwnPrimarySelection()) { primarySelection = true; if (primary.Empty()) - gtk_selection_owner_set(NULL, GDK_SELECTION_PRIMARY, GDK_CURRENT_TIME); + gtk_selection_owner_set(nullptr, GDK_SELECTION_PRIMARY, GDK_CURRENT_TIME); } else { primarySelection = false; primary.Clear(); @@ -1521,7 +1522,7 @@ void ScintillaGTK::GetSelection(GtkSelectionData *selection_data, guint info, Se void ScintillaGTK::StoreOnClipboard(SelectionText *clipText) { GtkClipboard *clipBoard = gtk_widget_get_clipboard(GTK_WIDGET(PWidget(wMain)), atomClipboard); - if (clipBoard == NULL) // Occurs if widget isn't in a toplevel + if (clipBoard == nullptr) // Occurs if widget isn't in a toplevel return; if (gtk_clipboard_set_with_data(clipBoard, clipboardCopyTargets, nClipboardCopyTargets, @@ -1638,7 +1639,7 @@ void ScintillaGTK::Resize(int width, int height) { #if GTK_CHECK_VERSION(3, 0, 0) // please GTK 3.20 and ask wText what size it wants, although we know it doesn't really need // anything special as it's ours. - gtk_widget_get_preferred_size(PWidget(wText), &requisition, NULL); + gtk_widget_get_preferred_size(PWidget(wText), &requisition, nullptr); alloc.width = requisition.width; alloc.height = requisition.height; #endif @@ -1808,7 +1809,7 @@ gint ScintillaGTK::ScrollEvent(GtkWidget *widget, GdkEventScroll *event) { ScintillaGTK *sciThis = FromWidget(widget); try { - if (widget == NULL || event == NULL) + if (widget == nullptr || event == nullptr) return FALSE; #if defined(GDK_WINDOWING_WAYLAND) @@ -2347,7 +2348,7 @@ void ScintillaGTK::PreeditChangedInlineThis() { PreEditString preeditStr(im_context); const char *charSetSource = CharacterSetID(); - if (!preeditStr.validUTF8 || (charSetSource == NULL)) { + if (!preeditStr.validUTF8 || (charSetSource == nullptr)) { ShowCaretAtCurrentPosition(); return; } @@ -2444,7 +2445,7 @@ void ScintillaGTK::PreeditChanged(GtkIMContext *, ScintillaGTK *sciThis) { } void ScintillaGTK::StyleSetText(GtkWidget *widget, GtkStyle *, void*) { - RealizeText(widget, NULL); + RealizeText(widget, nullptr); } void ScintillaGTK::RealizeText(GtkWidget *widget, void*) { @@ -2453,9 +2454,9 @@ void ScintillaGTK::RealizeText(GtkWidget *widget, void*) { #if GTK_CHECK_VERSION(3,22,0) // Appears unnecessary #elif GTK_CHECK_VERSION(3,0,0) - gdk_window_set_background_pattern(WindowFromWidget(widget), NULL); + gdk_window_set_background_pattern(WindowFromWidget(widget), nullptr); #else - gdk_window_set_back_pixmap(WindowFromWidget(widget), NULL, FALSE); + gdk_window_set_back_pixmap(WindowFromWidget(widget), nullptr, FALSE); #endif } } @@ -2469,12 +2470,12 @@ void ScintillaGTK::Dispose(GObject *object) { if (PWidget(sciThis->scrollbarv)) { gtk_widget_unparent(PWidget(sciThis->scrollbarv)); - sciThis->scrollbarv = NULL; + sciThis->scrollbarv = nullptr; } if (PWidget(sciThis->scrollbarh)) { gtk_widget_unparent(PWidget(sciThis->scrollbarh)); - sciThis->scrollbarh = NULL; + sciThis->scrollbarh = nullptr; } scintilla_class_parent_class->dispose(object); @@ -2495,7 +2496,7 @@ void ScintillaGTK::Destroy(GObject *object) { sciThis->Finalise(); delete sciThis; - scio->pscin = 0; + scio->pscin = nullptr; scintilla_class_parent_class->finalize(object); } catch (...) { // Its dead so nowhere to save the status @@ -2511,7 +2512,7 @@ gboolean ScintillaGTK::DrawTextThis(cairo_t *cr) { rcPaint = GetClientRectangle(); - PLATFORM_ASSERT(rgnUpdate == NULL); + PLATFORM_ASSERT(rgnUpdate == nullptr); rgnUpdate = cairo_copy_clip_rectangle_list(cr); if (rgnUpdate && rgnUpdate->status != CAIRO_STATUS_SUCCESS) { // If not successful then ignore @@ -2584,7 +2585,7 @@ gboolean ScintillaGTK::DrawThis(cairo_t *cr) { // or keep the default handler #if GTK_CHECK_VERSION(3,0,0) // we want to forward on any >= 3.9.2 runtime - if (gtk_check_version(3,9,2) == NULL) { + if (gtk_check_version(3,9,2) == nullptr) { gtk_container_propagate_draw( GTK_CONTAINER(PWidget(wMain)), PWidget(wText), cr); } @@ -2611,7 +2612,7 @@ gboolean ScintillaGTK::ExposeTextThis(GtkWidget * /*widget*/, GdkEventExpose *os rcPaint.right = ose->area.x + ose->area.width; rcPaint.bottom = ose->area.y + ose->area.height; - PLATFORM_ASSERT(rgnUpdate == NULL); + PLATFORM_ASSERT(rgnUpdate == nullptr); rgnUpdate = gdk_region_copy(ose->region); PRectangle rcClient = GetClientRectangle(); paintingAllText = rcPaint.Contains(rcClient); @@ -2631,7 +2632,7 @@ gboolean ScintillaGTK::ExposeTextThis(GtkWidget * /*widget*/, GdkEventExpose *os if (rgnUpdate) { gdk_region_destroy(rgnUpdate); } - rgnUpdate = 0; + rgnUpdate = nullptr; } catch (...) { errorStatus = SC_STATUS_FAILURE; } @@ -2856,13 +2857,13 @@ void ScintillaGTK::QueueIdleWork(WorkNeeded::workItems items, Sci::Position upTo Editor::QueueIdleWork(items, upTo); if (!styleIdleID) { // Only allow one style needed to be queued - styleIdleID = gdk_threads_add_idle_full(G_PRIORITY_HIGH_IDLE, StyleIdle, this, NULL); + styleIdleID = gdk_threads_add_idle_full(G_PRIORITY_HIGH_IDLE, StyleIdle, this, nullptr); } } void ScintillaGTK::SetDocPointer(Document *document) { - Document *oldDoc = 0; - ScintillaGTKAccessible *sciAccessible = 0; + Document *oldDoc = nullptr; + ScintillaGTKAccessible *sciAccessible = nullptr; if (accessible) { sciAccessible = ScintillaGTKAccessible::FromAccessible(accessible); if (sciAccessible && pdoc) { @@ -2980,15 +2981,15 @@ GType scintilla_get_type() { if (!scintilla_type) { static GTypeInfo scintilla_info = { (guint16) sizeof (ScintillaObjectClass), - NULL, //(GBaseInitFunc) - NULL, //(GBaseFinalizeFunc) + nullptr, //(GBaseInitFunc) + nullptr, //(GBaseFinalizeFunc) (GClassInitFunc) scintilla_class_init, - NULL, //(GClassFinalizeFunc) - NULL, //gconstpointer data + nullptr, //(GClassFinalizeFunc) + nullptr, //gconstpointer data (guint16) sizeof (ScintillaObject), 0, //n_preallocs (GInstanceInitFunc) scintilla_init, - NULL //(GTypeValueTable*) + nullptr //(GTypeValueTable*) }; scintilla_type = g_type_register_static( GTK_TYPE_CONTAINER, "ScintillaObject", &scintilla_info, (GTypeFlags) 0); @@ -3074,8 +3075,8 @@ static void scintilla_class_init(ScintillaClass *klass) { G_TYPE_FROM_CLASS(object_class), sigflags, G_STRUCT_OFFSET(ScintillaClass, command), - NULL, //(GSignalAccumulator) - NULL, //(gpointer) + nullptr, //(GSignalAccumulator) + nullptr, //(gpointer) scintilla_marshal_VOID__INT_OBJECT, G_TYPE_NONE, 2, G_TYPE_INT, GTK_TYPE_WIDGET); @@ -3085,14 +3086,14 @@ static void scintilla_class_init(ScintillaClass *klass) { G_TYPE_FROM_CLASS(object_class), sigflags, G_STRUCT_OFFSET(ScintillaClass, notify), - NULL, //(GSignalAccumulator) - NULL, //(gpointer) + nullptr, //(GSignalAccumulator) + nullptr, //(gpointer) scintilla_marshal_VOID__INT_BOXED, G_TYPE_NONE, 2, G_TYPE_INT, SCINTILLA_TYPE_NOTIFICATION); - klass->command = NULL; - klass->notify = NULL; + klass->command = nullptr; + klass->notify = nullptr; scintilla_class_parent_class = G_OBJECT_CLASS(g_type_class_peek_parent(klass)); ScintillaGTK::ClassInit(object_class, widget_class, container_class); } catch (...) { @@ -3109,7 +3110,7 @@ static void scintilla_init(ScintillaObject *sci) { /* legacy name for scintilla_object_new */ GtkWidget* scintilla_new() { - GtkWidget *widget = GTK_WIDGET(g_object_new(scintilla_get_type(), NULL)); + GtkWidget *widget = GTK_WIDGET(g_object_new(scintilla_get_type(), nullptr)); gtk_widget_set_direction(widget, GTK_TEXT_DIR_LTR); return widget; diff --git a/gtk/ScintillaGTK.h b/gtk/ScintillaGTK.h index 7cff34ff3..ab485ee96 100644 --- a/gtk/ScintillaGTK.h +++ b/gtk/ScintillaGTK.h @@ -99,7 +99,7 @@ private: TickReason reason; ScintillaGTK *scintilla; guint timer; - TimeThunk() : reason(tickCaret), scintilla(NULL), timer(0) {} + TimeThunk() : reason(tickCaret), scintilla(nullptr), timer(0) {} }; TimeThunk timers[tickDwell+1]; bool FineTickerRunning(TickReason reason) override; @@ -256,7 +256,7 @@ class GObjectWatcher { PLATFORM_ASSERT(obj == weakRef); Destroyed(); - weakRef = 0; + weakRef = nullptr; } static void WeakNotify(gpointer data, GObject *obj) { @@ -278,7 +278,7 @@ public: virtual void Destroyed() {} bool IsDestroyed() const { - return weakRef != 0; + return weakRef != nullptr; } }; diff --git a/gtk/ScintillaGTKAccessible.cxx b/gtk/ScintillaGTKAccessible.cxx index 510db1945..89e929b87 100644 --- a/gtk/ScintillaGTKAccessible.cxx +++ b/gtk/ScintillaGTKAccessible.cxx @@ -150,7 +150,7 @@ ScintillaGTKAccessible *ScintillaGTKAccessible::FromAccessible(GtkAccessible *ac // FIXME: do we need the check below? GTK checks that in all methods, so maybe GtkWidget *widget = gtk_accessible_get_widget(accessible); if (! widget) { - return 0; + return nullptr; } return SCINTILLA_OBJECT_ACCESSIBLE_GET_PRIVATE(accessible)->pscin; @@ -166,16 +166,16 @@ ScintillaGTKAccessible::ScintillaGTKAccessible(GtkAccessible *accessible_, GtkWi ScintillaGTKAccessible::~ScintillaGTKAccessible() { if (gtk_accessible_get_widget(accessible)) { - g_signal_handlers_disconnect_matched(sci->sci, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, this); + g_signal_handlers_disconnect_matched(sci->sci, G_SIGNAL_MATCH_DATA, 0, 0, nullptr, nullptr, this); } } gchar *ScintillaGTKAccessible::GetTextRangeUTF8(Sci::Position startByte, Sci::Position endByte) { - g_return_val_if_fail(startByte >= 0, NULL); + g_return_val_if_fail(startByte >= 0, nullptr); // FIXME: should we swap start/end if necessary? - g_return_val_if_fail(endByte >= startByte, NULL); + g_return_val_if_fail(endByte >= startByte, nullptr); - gchar *utf8Text = NULL; + gchar *utf8Text = nullptr; const char *charSetBuffer; // like TargetAsUTF8, but avoids a double conversion @@ -210,7 +210,7 @@ gchar *ScintillaGTKAccessible::GetText(int startChar, int endChar) { gchar *ScintillaGTKAccessible::GetTextAfterOffset(int charOffset, AtkTextBoundary boundaryType, int *startChar, int *endChar) { - g_return_val_if_fail(charOffset >= 0, NULL); + g_return_val_if_fail(charOffset >= 0, nullptr); Sci::Position startByte, endByte; Sci::Position byteOffset = ByteOffsetFromCharacterOffset(charOffset); @@ -252,7 +252,7 @@ gchar *ScintillaGTKAccessible::GetTextAfterOffset(int charOffset, default: *startChar = *endChar = -1; - return NULL; + return nullptr; } CharacterRangeFromByteRange(startByte, endByte, startChar, endChar); @@ -261,7 +261,7 @@ gchar *ScintillaGTKAccessible::GetTextAfterOffset(int charOffset, gchar *ScintillaGTKAccessible::GetTextBeforeOffset(int charOffset, AtkTextBoundary boundaryType, int *startChar, int *endChar) { - g_return_val_if_fail(charOffset >= 0, NULL); + g_return_val_if_fail(charOffset >= 0, nullptr); Sci::Position startByte, endByte; Sci::Position byteOffset = ByteOffsetFromCharacterOffset(charOffset); @@ -314,7 +314,7 @@ gchar *ScintillaGTKAccessible::GetTextBeforeOffset(int charOffset, default: *startChar = *endChar = -1; - return NULL; + return nullptr; } CharacterRangeFromByteRange(startByte, endByte, startChar, endChar); @@ -323,7 +323,7 @@ gchar *ScintillaGTKAccessible::GetTextBeforeOffset(int charOffset, gchar *ScintillaGTKAccessible::GetTextAtOffset(int charOffset, AtkTextBoundary boundaryType, int *startChar, int *endChar) { - g_return_val_if_fail(charOffset >= 0, NULL); + g_return_val_if_fail(charOffset >= 0, nullptr); Sci::Position startByte, endByte; Sci::Position byteOffset = ByteOffsetFromCharacterOffset(charOffset); @@ -376,7 +376,7 @@ gchar *ScintillaGTKAccessible::GetTextAtOffset(int charOffset, default: *startChar = *endChar = -1; - return NULL; + return nullptr; } CharacterRangeFromByteRange(startByte, endByte, startChar, endChar); @@ -386,7 +386,7 @@ gchar *ScintillaGTKAccessible::GetTextAtOffset(int charOffset, #if ATK_CHECK_VERSION(2, 10, 0) gchar *ScintillaGTKAccessible::GetStringAtOffset(int charOffset, AtkTextGranularity granularity, int *startChar, int *endChar) { - g_return_val_if_fail(charOffset >= 0, NULL); + g_return_val_if_fail(charOffset >= 0, nullptr); Sci::Position startByte, endByte; Sci::Position byteOffset = ByteOffsetFromCharacterOffset(charOffset); @@ -408,7 +408,7 @@ gchar *ScintillaGTKAccessible::GetStringAtOffset(int charOffset, } default: *startChar = *endChar = -1; - return NULL; + return nullptr; } CharacterRangeFromByteRange(startByte, endByte, startChar, endChar); @@ -530,10 +530,10 @@ static AtkAttributeSet *AddTextColorAttribute(AtkAttributeSet *attributes, AtkTe } AtkAttributeSet *ScintillaGTKAccessible::GetAttributesForStyle(unsigned int styleNum) { - AtkAttributeSet *attr_set = NULL; + AtkAttributeSet *attr_set = nullptr; if (styleNum >= sci->vs.styles.size()) - return NULL; + return nullptr; Style &style = sci->vs.styles[styleNum]; attr_set = AddTextAttribute(attr_set, ATK_TEXT_ATTR_FAMILY_NAME, g_strdup(style.fontName)); @@ -550,7 +550,7 @@ AtkAttributeSet *ScintillaGTKAccessible::GetAttributesForStyle(unsigned int styl } AtkAttributeSet *ScintillaGTKAccessible::GetRunAttributes(int charOffset, int *startChar, int *endChar) { - g_return_val_if_fail(charOffset >= -1, NULL); + g_return_val_if_fail(charOffset >= -1, nullptr); Sci::Position byteOffset; if (charOffset == -1) { @@ -560,7 +560,7 @@ AtkAttributeSet *ScintillaGTKAccessible::GetRunAttributes(int charOffset, int *s } int length = sci->pdoc->Length(); - g_return_val_if_fail(byteOffset <= length, NULL); + g_return_val_if_fail(byteOffset <= length, nullptr); const char style = StyleAt(byteOffset, true); // compute the range for this style @@ -586,7 +586,7 @@ gint ScintillaGTKAccessible::GetNSelections() { gchar *ScintillaGTKAccessible::GetSelection(gint selection_num, int *startChar, int *endChar) { if (selection_num < 0 || (unsigned int) selection_num >= sci->sel.Count()) - return NULL; + return nullptr; Sci::Position startByte = sci->sel.Range(selection_num).Start().Position(); Sci::Position endByte = sci->sel.Range(selection_num).End().Position(); @@ -740,7 +740,7 @@ void ScintillaGTKAccessible::PasteText(int charPosition) { Sci::Position bytePosition; void Destroyed() override { - scia = 0; + scia = nullptr; } Helper(ScintillaGTKAccessible *scia_, Sci::Position bytePos_) : @@ -766,7 +766,7 @@ void ScintillaGTKAccessible::PasteText(int charPosition) { static void TextReceivedCallback(GtkClipboard *clipboard, const gchar *text, gpointer data) { Helper *helper = static_cast<Helper*>(data); try { - if (helper->scia != 0) { + if (helper->scia != nullptr) { helper->TextReceived(clipboard, text); } } catch (...) {} @@ -928,20 +928,20 @@ void ScintillaGTKAccessible::Notify(GtkWidget *, gint, SCNotification *nt) { // AtkText gchar *ScintillaGTKAccessible::AtkTextIface::GetText(AtkText *text, int start_offset, int end_offset) { - WRAPPER_METHOD_BODY(text, GetText(start_offset, end_offset), NULL); + WRAPPER_METHOD_BODY(text, GetText(start_offset, end_offset), nullptr); } gchar *ScintillaGTKAccessible::AtkTextIface::GetTextAfterOffset(AtkText *text, int offset, AtkTextBoundary boundary_type, int *start_offset, int *end_offset) { - WRAPPER_METHOD_BODY(text, GetTextAfterOffset(offset, boundary_type, start_offset, end_offset), NULL) + WRAPPER_METHOD_BODY(text, GetTextAfterOffset(offset, boundary_type, start_offset, end_offset), nullptr) } gchar *ScintillaGTKAccessible::AtkTextIface::GetTextBeforeOffset(AtkText *text, int offset, AtkTextBoundary boundary_type, int *start_offset, int *end_offset) { - WRAPPER_METHOD_BODY(text, GetTextBeforeOffset(offset, boundary_type, start_offset, end_offset), NULL) + WRAPPER_METHOD_BODY(text, GetTextBeforeOffset(offset, boundary_type, start_offset, end_offset), nullptr) } gchar *ScintillaGTKAccessible::AtkTextIface::GetTextAtOffset(AtkText *text, gint offset, AtkTextBoundary boundary_type, gint *start_offset, gint *end_offset) { - WRAPPER_METHOD_BODY(text, GetTextAtOffset(offset, boundary_type, start_offset, end_offset), NULL) + WRAPPER_METHOD_BODY(text, GetTextAtOffset(offset, boundary_type, start_offset, end_offset), nullptr) } #if ATK_CHECK_VERSION(2, 10, 0) gchar *ScintillaGTKAccessible::AtkTextIface::GetStringAtOffset(AtkText *text, gint offset, AtkTextGranularity granularity, gint *start_offset, gint *end_offset) { - WRAPPER_METHOD_BODY(text, GetStringAtOffset(offset, granularity, start_offset, end_offset), NULL) + WRAPPER_METHOD_BODY(text, GetStringAtOffset(offset, granularity, start_offset, end_offset), nullptr) } #endif gunichar ScintillaGTKAccessible::AtkTextIface::GetCharacterAtOffset(AtkText *text, gint offset) { @@ -963,16 +963,16 @@ void ScintillaGTKAccessible::AtkTextIface::GetCharacterExtents(AtkText *text, gi WRAPPER_METHOD_BODY(text, GetCharacterExtents(offset, x, y, width, height, coords), ) } AtkAttributeSet *ScintillaGTKAccessible::AtkTextIface::GetRunAttributes(AtkText *text, gint offset, gint *start_offset, gint *end_offset) { - WRAPPER_METHOD_BODY(text, GetRunAttributes(offset, start_offset, end_offset), NULL) + WRAPPER_METHOD_BODY(text, GetRunAttributes(offset, start_offset, end_offset), nullptr) } AtkAttributeSet *ScintillaGTKAccessible::AtkTextIface::GetDefaultAttributes(AtkText *text) { - WRAPPER_METHOD_BODY(text, GetDefaultAttributes(), NULL) + WRAPPER_METHOD_BODY(text, GetDefaultAttributes(), nullptr) } gint ScintillaGTKAccessible::AtkTextIface::GetNSelections(AtkText *text) { WRAPPER_METHOD_BODY(text, GetNSelections(), 0) } gchar *ScintillaGTKAccessible::AtkTextIface::GetSelection(AtkText *text, gint selection_num, gint *start_pos, gint *end_pos) { - WRAPPER_METHOD_BODY(text, GetSelection(selection_num, start_pos, end_pos), NULL) + WRAPPER_METHOD_BODY(text, GetSelection(selection_num, start_pos, end_pos), nullptr) } gboolean ScintillaGTKAccessible::AtkTextIface::AddSelection(AtkText *text, gint start, gint end) { WRAPPER_METHOD_BODY(text, AddSelection(start, end), FALSE) @@ -1011,7 +1011,7 @@ static GType scintilla_object_accessible_factory_get_type(void); static void scintilla_object_accessible_init(ScintillaObjectAccessible *accessible); static void scintilla_object_accessible_class_init(ScintillaObjectAccessibleClass *klass); -static gpointer scintilla_object_accessible_parent_class = NULL; +static gpointer scintilla_object_accessible_parent_class = nullptr; // @p parent_type is only required on GTK 3.2 to 3.6, and only on the first call @@ -1021,27 +1021,27 @@ static GType scintilla_object_accessible_get_type(GType parent_type G_GNUC_UNUSE if (g_once_init_enter(&type_id_result)) { GTypeInfo tinfo = { 0, /* class size */ - (GBaseInitFunc) NULL, /* base init */ - (GBaseFinalizeFunc) NULL, /* base finalize */ + (GBaseInitFunc) nullptr, /* base init */ + (GBaseFinalizeFunc) nullptr, /* base finalize */ (GClassInitFunc) scintilla_object_accessible_class_init, /* class init */ - (GClassFinalizeFunc) NULL, /* class finalize */ - NULL, /* class data */ + (GClassFinalizeFunc) nullptr, /* class finalize */ + nullptr, /* class data */ 0, /* instance size */ 0, /* nb preallocs */ (GInstanceInitFunc) scintilla_object_accessible_init, /* instance init */ - NULL /* value table */ + nullptr /* value table */ }; const GInterfaceInfo atk_text_info = { (GInterfaceInitFunc) ScintillaGTKAccessible::AtkTextIface::init, - (GInterfaceFinalizeFunc) NULL, - NULL + (GInterfaceFinalizeFunc) nullptr, + nullptr }; const GInterfaceInfo atk_editable_text_info = { (GInterfaceInitFunc) ScintillaGTKAccessible::AtkEditableTextIface::init, - (GInterfaceFinalizeFunc) NULL, - NULL + (GInterfaceFinalizeFunc) nullptr, + nullptr }; #if HAVE_GTK_A11Y_H @@ -1082,13 +1082,13 @@ static GType scintilla_object_accessible_get_type(GType parent_type G_GNUC_UNUSE } static AtkObject *scintilla_object_accessible_new(GType parent_type, GObject *obj) { - g_return_val_if_fail(SCINTILLA_IS_OBJECT(obj), NULL); + g_return_val_if_fail(SCINTILLA_IS_OBJECT(obj), nullptr); AtkObject *accessible = (AtkObject *) g_object_new(scintilla_object_accessible_get_type(parent_type), #if HAVE_WIDGET_SET_UNSET "widget", obj, #endif - NULL); + nullptr); atk_object_initialize(accessible, obj); return accessible; @@ -1100,7 +1100,7 @@ static AtkObject *scintilla_object_accessible_new(GType parent_type, GObject *ob // @p cache pointer to store the AtkObject between repeated calls. Might or might not be filled. // @p widget_parent_class pointer to the widget's parent class (to chain up method calls). AtkObject *ScintillaGTKAccessible::WidgetGetAccessibleImpl(GtkWidget *widget, AtkObject **cache, gpointer widget_parent_class G_GNUC_UNUSED) { - if (*cache != NULL) { + if (*cache != nullptr) { return *cache; } @@ -1150,7 +1150,7 @@ static AtkStateSet *scintilla_object_accessible_ref_state_set(AtkObject *accessi AtkStateSet *state_set = ATK_OBJECT_CLASS(scintilla_object_accessible_parent_class)->ref_state_set(accessible); GtkWidget *widget = gtk_accessible_get_widget(GTK_ACCESSIBLE(accessible)); - if (widget == NULL) { + if (widget == nullptr) { atk_state_set_add_state(state_set, ATK_STATE_DEFUNCT); } else { if (! scintilla_send_message(SCINTILLA_OBJECT(widget), SCI_GETREADONLY, 0, 0)) @@ -1170,11 +1170,11 @@ static AtkStateSet *scintilla_object_accessible_ref_state_set(AtkObject *accessi static void scintilla_object_accessible_widget_set(GtkAccessible *accessible) { GtkWidget *widget = gtk_accessible_get_widget(accessible); - if (widget == NULL) + if (widget == nullptr) return; ScintillaObjectAccessiblePrivate *priv = SCINTILLA_OBJECT_ACCESSIBLE_GET_PRIVATE(accessible); - if (priv->pscin != 0) + if (priv->pscin) delete priv->pscin; priv->pscin = new ScintillaGTKAccessible(accessible, widget); } @@ -1182,7 +1182,7 @@ static void scintilla_object_accessible_widget_set(GtkAccessible *accessible) { #if HAVE_WIDGET_SET_UNSET static void scintilla_object_accessible_widget_unset(GtkAccessible *accessible) { GtkWidget *widget = gtk_accessible_get_widget(accessible); - if (widget == NULL) + if (widget == nullptr) return; ScintillaObjectAccessiblePrivate *priv = SCINTILLA_OBJECT_ACCESSIBLE_GET_PRIVATE(accessible); @@ -1206,7 +1206,7 @@ static void scintilla_object_accessible_finalize(GObject *object) { if (priv->pscin) { delete priv->pscin; - priv->pscin = 0; + priv->pscin = nullptr; } G_OBJECT_CLASS(scintilla_object_accessible_parent_class)->finalize(object); @@ -1235,7 +1235,7 @@ static void scintilla_object_accessible_class_init(ScintillaObjectAccessibleClas static void scintilla_object_accessible_init(ScintillaObjectAccessible *accessible) { ScintillaObjectAccessiblePrivate *priv = SCINTILLA_OBJECT_ACCESSIBLE_GET_PRIVATE(accessible); - priv->pscin = 0; + priv->pscin = nullptr; } #if HAVE_GTK_FACTORY |