Menu

#970 Dialog hangs with connectListViewEvent

ooDialog.4.2.0
closed
ooDialog (58)
none
5
2013-11-22
2010-12-23
hex
No

Dialog with listview and extendedstyle atrribute CHECKBOXES, hangs when reading an external file to populate the listview.
This order doesn't work
1. connectListViewEvent(IDC_LIST1, "CHECKBOXCHANGED",LIST1_Checkbox)
2. read file to fill the listview

this order works as long as you don't read same or another file afterwards
1. read file to fill the listview
2 connectListViewEvent(IDC_LIST1, "CHECKBOXCHANGED",LIST1_Checkbox)
BUT if trying to read another/same file again after the 2 last statements will hang the program again.

Se also comments in errdialog.rex (initdialog)
Attached is a testprogram for the problem, You must edit the errdialog.rex and reverse the order of statments to get the error(hang)

This is on win7 64bit and oorexx ooRexx420_6518-x86_64 and also on win XP SP3 and ooRexx420_6244-x86_32

Discussion

  • hex

    hex - 2010-12-23

    Test program for problem (rex+.rc+.h file)

     
  • Mark Miesfeld

    Mark Miesfeld - 2010-12-23

    Thanks for opening this up.

    Including an example program to reproduce the bug sure helps. I'll look at it as soon as I can. But, I haven't done my Christmas shopping yet. <grin>

     
  • hex

    hex - 2010-12-23

    Forgot the testdata for the program

     
  • Mark Miesfeld

    Mark Miesfeld - 2010-12-24

    Thanks again for testing ooDialog 4.2.0. There is a bug here that I have. There is also a bug in your program.

    When you connect the check box changed event first, each time a new list view item is added, you LIST1_Checkbox method gets called. Your readFile() method is executing, it is unguarded. At the first line it reads, a list view item is loaded and LIST1_Checkbox is invoked. It is also unguarded. It can not execute until readFile() is finished. The interpreter is waiting for LIST1_Checkbox to return. Things are hung.

    However, I also have a bug in some of the list view methods not being unguarded. In particular the items() and getCheck() methods need to be unguarded. So, even if you make your LIST1_Checkbox() and your LIST1_Click() methods unguarded, as they need to be, your program will still hang.

    I intend to update the ooDialog 4.2.0 download from SourceForge fairly often as bugs are found and / or I get more of the documentation finished. I will probably put up a new version sometime after Christmas as I have made good progress on the docs and have several bugs fixed.

     
  • Mark Miesfeld

    Mark Miesfeld - 2011-01-10

    Fixed in ooDialog 4.2.0 (beta) r6569

     
  • Rick McGuire

    Rick McGuire - 2013-11-22
    • Pending work items: --> none
    • Group: v4.2.0 --> ooDialog.4.2.0
     

Anonymous
Anonymous

Add attachments
Cancel