--- D:/temp/advpoll-orig.module	Fri Sep 19 00:51:14 2008
+++ D:/temp/advpoll.module	Fri Sep 19 00:51:05 2008
@@ -688,7 +688,7 @@
   db_query("INSERT INTO {advpoll} (nid, mode, use_list, active, max_choices, algorithm, show_votes, start_date, end_date, writeins, show_writeins, question) VALUES (%d, '%s', %d, %d, %d, '%s', %d, '%s', '%s', %d, %d, '%s')", $node->nid, $mode, $node->settings['use_list'], !$node->settings['close'], $node->settings['max_choices'], $node->settings['algorithm'], $node->settings['show_votes'], $node->settings['start_date'] ? strtotime($node->settings['start_date']) : 0, $node->settings['end_date'] ? strtotime($node->settings['end_date']) : 0, $node->settings['writeins'], $node->settings['show_writeins'], $node->question);
 
   // Insert the choices.
-  _advpoll_insert_choices($node->nid);
+  _advpoll_insert_choices($node->nid, $node->choices);
 }
 
 /**
@@ -700,7 +700,7 @@
 
   db_query("UPDATE {advpoll} SET active = %d, max_choices = %d, algorithm = '%s', use_list = %d, show_votes = %d, start_date = '%s', end_date = '%s', writeins = %d, show_writeins = %d, question = '%s' WHERE nid = %d", !$node->settings['close'], $node->settings['max_choices'], $node->settings['algorithm'], $node->settings['use_list'], $node->settings['show_votes'], $node->settings['start_date'] ? strtotime($node->settings['start_date']) : 0, $node->settings['end_date'] ? strtotime($node->settings['end_date']) : 0, $node->settings['writeins'], $node->settings['show_writeins'], $node->question, $node->nid);
 
-  _advpoll_insert_choices($node->nid);
+  _advpoll_insert_choices($node->nid, $node->choices);
   votingapi_recalculate_results('advpoll', $node->nid);
 }
 
@@ -1139,12 +1139,12 @@
  * Note: we pass choice data via _POST to allow for dynamic addition of choices.
  * Drupal 6 AHAH support will let us switch to a clean implementation.
  */
-function _advpoll_insert_choices($nid) {
+function _advpoll_insert_choices($nid, $choices) {
   $node = node_load($nid);
   $weight = 0;
   $seen_ids = array();
-  foreach ($_POST['choice'] as $index => $choice) {
-    if ($choice['label'] != '') {
+  foreach ($choices as $index => $choice) {
+    if (trim($choice['label']) != '') {
       // Mark this choice id as being seen.
       $seen_ids[$index] = 1;
       if (!isset($node->choice[$index])) {
