|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2011-03-12 15:09 UTC] auroraeosrose@php.net
-Status: Open
+Status: Bogus
[2011-03-12 15:09 UTC] auroraeosrose@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Nov 03 19:00:02 2025 UTC |
Description: ------------ I can't find any documentation regarding how gtk+ handles notebook page removal; if the page indexes are meant to be re-ordered on page removal this bug is bogus. Pages are not always removed if you call GtkNotebook::remove_page(), and whether they are removed or not seems dependant upon the order in which the pages were appended / removed, see the below example. If the line to remove the 3rd page is moved from the last page to be removed to the first the below test case finishes successfully, in it's current configuration however it fails without error. Test script: --------------- <?php function removed(GtkNotebook $notebook, GtkWidget $child, $index) { echo "tab index $index removed\n"; } $window = new GtkWindow(); $window->set_size_request(400, 400); $notebook = new GtkNoteBook(); $notebook->connect("page-removed", 'removed'); $vbox = new GtkVbox(); $vbox->add(new GtkLabel('tab contents')); $tab1Index = $notebook->append_page($vbox, new GtkLabel('Tab1')); $vbox = new GtkVbox(); $vbox->add(new GtkLabel('tab contents')); $tab2Index = $notebook->append_page($vbox, new GtkLabel('Tab2')); $vbox = new GtkVbox(); $vbox->add(new GtkLabel('tab contents')); $tab3Index = $notebook->append_page($vbox, new GtkLabel('Tab3')); $vbox = new GtkVbox(); $vbox->add(new GtkLabel('tab contents')); $tab4Index = $notebook->append_page($vbox, new GtkLabel('Tab4')); $window->add($notebook); $notebook->remove_page($tab2Index); $notebook->remove_page($tab1Index); $notebook->remove_page($tab3Index); $window->show_all(); Gtk::main(); Expected result: ---------------- All three pages of the notebook should be removed & the page-removed signal should fire three times. Actual result: -------------- Only the first two pages are removed with two page-removed signals fired, the third removal fails silently.