Uploaded image for project: 'CMS'
  1. CMS
  2. CMS-633

Using FF helpers to handle a table in editor leads to a StackOverflowError

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • 2.9.20
    • 2.6.6, 2.9.5, 2.9.19
    • Inline Editor
    • None
    • FF2 et FF3

      Dans un HTML Editor rich (avec tableau), la croix de suppression de colonne (voir screenshot2) qui apparait sous FF génère une StackOverflowError!

      Merci de corriger le bug ou de désactiver cette croix (absente sous IE).

          [CMS-633] Using FF helpers to handle a table in editor leads to a StackOverflowError

          Works fine one FF3.5

          Raphaël Franchet added a comment - Works fine one FF3.5

          Parrallèlement à tout cela, il faudrait tester ceci qui semble permettre de désactiver sous Mozilla XXXX l'édition en lignes des tableaux

          editor.execCommand('enableInlineTableEditing', false, false);

          à tester et à réintégrer le cas échéant

          Raphaël Franchet added a comment - Parrallèlement à tout cela, il faudrait tester ceci qui semble permettre de désactiver sous Mozilla XXXX l'édition en lignes des tableaux editor.execCommand('enableInlineTableEditing', false, false); à tester et à réintégrer le cas échéant

          thanks

          Raphaël Franchet added a comment - thanks

          Pour moi, c'est ok sur FF2, on valide sur FF3

          Julien Gaulon (Inactive) added a comment - Pour moi, c'est ok sur FF2, on valide sur FF3

          Raphaël Franchet added a comment - - edited

          Mr Gaulon, si vous pouvez la mettre en oeuvre pour avérer les dires de Mr Gavalda, nous vous en serions reconnaissant.

          Raphaël Franchet added a comment - - edited Mr Gaulon, si vous pouvez la mettre en oeuvre pour avérer les dires de Mr Gavalda, nous vous en serions reconnaissant.

          En fait il est bien possible que ça vienne de notre manière de traiter les définitions de colonnes (colgroup/colspec) : s'il y a moins de colspec que de cellules effectives dans une ligne de tableau, on va rajouter des colspec pour correspondre au nombre de cellules effectives.
          Sauf qu'on fait ça dans une fonction récursive qui s'appelle avec comme paramètre "n - 1" et qui continue si "n != 0". Et si on l'appelle avec un nombre négatif... crac.

          Ci-joint une proposition de résolution.

          Nicolas Gavalda (Inactive) added a comment - En fait il est bien possible que ça vienne de notre manière de traiter les définitions de colonnes (colgroup/colspec) : s'il y a moins de colspec que de cellules effectives dans une ligne de tableau, on va rajouter des colspec pour correspondre au nombre de cellules effectives. Sauf qu'on fait ça dans une fonction récursive qui s'appelle avec comme paramètre "n - 1" et qui continue si "n != 0". Et si on l'appelle avec un nombre négatif... crac. Ci-joint une proposition de résolution.

          Impossible de demander à FF de retirer cette fonction.
          On peut faire l'inverse : c'est à dire, avoir la possibilité de détruire une colonne mais pas d'éditer le texte avec un habile jeu de "-moz-user-select: -moz-none". Mais c'est tout.

          Du coup, il faut creuser de l'autre coté : traiter le mal après coup.
          Soit en JS, soit coté serveur...

          Le plus simple de loin c'est coté serveur.
          Le problème c'est que si on le fait pas coté JS, d'autres JS risquent de planter avant enregistrement... mais on peut dire que c'est la vie. Par exemple, afficher les propriétés de la table (notamment la largeur des colonnes)

          Raphaël Franchet added a comment - Impossible de demander à FF de retirer cette fonction. On peut faire l'inverse : c'est à dire, avoir la possibilité de détruire une colonne mais pas d'éditer le texte avec un habile jeu de "-moz-user-select: -moz-none". Mais c'est tout. Du coup, il faut creuser de l'autre coté : traiter le mal après coup. Soit en JS, soit coté serveur... Le plus simple de loin c'est coté serveur. Le problème c'est que si on le fait pas coté JS, d'autres JS risquent de planter avant enregistrement... mais on peut dire que c'est la vie. Par exemple, afficher les propriétés de la table (notamment la largeur des colonnes)

          Julien Gaulon (Inactive) added a comment - - edited

          ! Ca reste au moins critique pour moi, surtout si FF3 est également touché.

          Julien Gaulon (Inactive) added a comment - - edited ! Ca reste au moins critique pour moi, surtout si FF3 est également touché.

          Du coup c'est pas blocker

          Raphaël Franchet added a comment - Du coup c'est pas blocker

          Pour rappel, il faut signaler aux clients de ne pas utiliser cette croix mais bien les boutons du htmleditor.

          La correction consiste à essayer de trouver une commande FF pour désactiver cette croix

          Raphaël Franchet added a comment - Pour rappel, il faut signaler aux clients de ne pas utiliser cette croix mais bien les boutons du htmleditor. La correction consiste à essayer de trouver une commande FF pour désactiver cette croix

            Unassigned Unassigned
            jgaulon Julien Gaulon (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: