Branch: refs/heads/master Author: Colomban Wendling ban@herbesfolles.org Committer: Colomban Wendling ban@herbesfolles.org Date: Sat, 21 Feb 2015 17:56:51 UTC Commit: 8aa4f11cad2cf8404bc58f93464fdcd2140a2f69 https://github.com/geany/geany/commit/8aa4f11cad2cf8404bc58f93464fdcd2140a2f...
Log Message: ----------- Optimize notebook page -> document lookup and remove dead code
This actually fixes a theoretical bug introduced when notebook pages stopped being ScintillaWidgets, but this bug had no effect because it was in a dead code path -- because no, `page_num` never is -1 nor `page` NULL.
Modified Paths: -------------- src/callbacks.c src/document.c src/document.h
Modified: src/callbacks.c 5 lines changed, 1 insertions(+), 4 deletions(-) =================================================================== @@ -540,10 +540,7 @@ G_MODULE_EXPORT void on_notebook1_switch_page_after(GtkNotebook *notebook, gpoin if (G_UNLIKELY(main_status.opening_session_files || main_status.closing_all)) return;
- if (page_num == (guint) -1 && page != NULL) - doc = document_find_by_sci(SCINTILLA(page)); - else - doc = document_get_from_page(page_num); + doc = document_get_from_notebook_child(page);
if (doc != NULL) {
Modified: src/document.c 21 lines changed, 15 insertions(+), 6 deletions(-) =================================================================== @@ -338,6 +338,20 @@ static ScintillaObject *locate_sci_in_container(GtkWidget *container) }
+/* Finds the document for the given notebook page widget */ +GeanyDocument *document_get_from_notebook_child(GtkWidget *page) +{ + ScintillaObject *sci; + + g_return_val_if_fail(GTK_IS_BOX(page), NULL); + + sci = locate_sci_in_container(page); + g_return_val_if_fail(IS_SCINTILLA(sci), NULL); + + return document_find_by_sci(sci); +} + + /** * Finds the document for the given notebook page @a page_num. * @@ -348,18 +362,13 @@ static ScintillaObject *locate_sci_in_container(GtkWidget *container) GeanyDocument *document_get_from_page(guint page_num) { GtkWidget *parent; - ScintillaObject *sci;
if (page_num >= documents_array->len) return NULL;
parent = gtk_notebook_get_nth_page(GTK_NOTEBOOK(main_widgets.notebook), page_num); - g_return_val_if_fail(GTK_IS_BOX(parent), NULL);
- sci = locate_sci_in_container(parent); - g_return_val_if_fail(IS_SCINTILLA(sci), NULL); - - return document_find_by_sci(sci); + return document_get_from_notebook_child(parent); }
Modified: src/document.h 2 lines changed, 2 insertions(+), 0 deletions(-) =================================================================== @@ -172,6 +172,8 @@ GeanyDocument* document_new_file(const gchar *filename, GeanyFiletype *ft, const
GeanyDocument *document_get_current(void);
+GeanyDocument *document_get_from_notebook_child(GtkWidget *page); + GeanyDocument* document_get_from_page(guint page_num);
GeanyDocument* document_find_by_filename(const gchar *utf8_filename);
-------------- This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).