DropFile problem in RapaGUI

Report any Hollywood bugs here

DropFile problem in RapaGUI

Postby midwan » Mon May 01, 2017 3:18 pm

I've been testing the DropFile msg.attribute in RapaGUI with Hollywood 7, and I've found a behavior that might be a bug:

The msg.triggervalue is supposed to be a table according to the docs, so I should be able to pass it to my Function that expects one to populate a listview.
However, if I do that I get a crash when Hollywood tries to iterate through the table items, complaining that the table is not initialized!

If I enumerate through the items at the event level and populate my listview there, it works. If I try to pass the msg.triggervalue as a parameter, it fails.

Code samples:

Given this Function:
Code: Select all
/*
** Adds a list of files in the Playlist listview
*/
Function p_InsertFilesInList(files)
   If files[0] = "" Then Return
   Local c = 0
   While files[c] <> ""
      moai.DoMethod("lv", "insert", "bottom", 9, files[c])
      c = c + 1
   Wend
   moai.Set("lv", "active", "Top")
EndFunction


This works:
Code: Select all
Case "DropFile":
   For Local k = 0 To ListItems(msg.triggervalue)-1 Do moai.DoMethod("lv", "insert", "bottom", 9, msg.triggervalue[k])


But this fails:
Code: Select all
Case "DropFile":
   p_InsertFilesInList(msg.triggervalue)


This also fails:
Code: Select all
Case "DropFile":
        Local temp = CopyTable(msg.triggervalue)
   p_InsertFilesInList(temp)


The above feels like a bug to me, as I would expect that the "msg.triggervalue" is a normal, initialized table I can go through.
midwan
 
Posts: 32
Joined: Sun Jun 19, 2016 1:15 pm

Re: DropFile problem in RapaGUI

Postby airsoftsoftwair » Tue May 02, 2017 9:46 pm

The bug is in your code. This code snippet...

Code: Select all
While files[c] <> ""
      moai.DoMethod("lv", "insert", "bottom", 9, files[c])
      c = c + 1
Wend


...will end up accessing an uninitialized table element and throw an error then because you're simply incrementing "c" without checking for the table size. Use a For() loop with ListItems() instead to make sure you don't access elements outside the table's bounds.
User avatar
airsoftsoftwair
 
Posts: 2098
Joined: Fri Feb 12, 2010 3:33 pm
Location: Germany

Re: DropFile problem in RapaGUI

Postby midwan » Wed May 03, 2017 9:29 pm

Indeed, that makes sense. :)

Thank you for the help!
midwan
 
Posts: 32
Joined: Sun Jun 19, 2016 1:15 pm


Return to Hollywood bugs

Who is online

Users browsing this forum: No registered users and 1 guest

cron