Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] Issue with TreeModelViewer in Linux OS

Dear Pawel,


I could reproduce the same in the DSF samples provided (org.eclipse.cdt.examples.dsf.filebrowser).


Please see the modifications I made in order to reproduce this issue.


1. First I created an empty folder in Linux OS (Fedora 17) say /home/malu/emptyFolder


2. Now in the constructor of file, modified the run() method of  update() job so that the root node is

      File[] files = new File[] {new File("/home/malu/EmptyFolder")};(instead of using API File.listRoots() )


3. Now in class I create a sample button too.. along with the search text box. See the snippet below :

     final Button expandAll = new Button(area, SWT.PUSH);

           expandAll.setText("Expand Me");

           expandAll.addSelectionListener(new SelectionAdapter() {


                public void widgetSelected(SelectionEvent e) {








Now just run the code, it will show : /home/malu/emptyFolder as root node. Just try to push the "Expand Me" button. We can see the flickering/blinking issue.


I have attached just the file browser sample with this mail.

Our view was developed based on this. We are also using a search text box. If we try to expand or search something it starts blinking in Linux OS and is very annoying... :(


Also please see that I haven’t yet opened a bug against this.. Shall I proceed ??






From: Malu Sasi
Sent: Friday, February 08, 2013 11:25 AM
To: CDT General developers list.
Subject: RE: [cdt-dev] Issue with TreeModelViewer in Linux OS


Hi Pawel,


Thank you for the quick response!!

I will update soon with a sample snippet…





From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Pawel Piech
Sent: Friday, February 08, 2013 11:19 AM
To: CDT General developers list.
Subject: Re: [cdt-dev] Issue with TreeModelViewer in Linux OS


Hi Malu,
I haven't seen this issue before, but none of the debug views use the expandAll(), method so it's possible that you've come across something new.  Can you open a bug against debug platform and attach a snippet demonstrating the bug.


On 02/07/2013 08:58 PM, Malu Sasi wrote:

Hi All,


We have implemented a tree viewer using TreeModelViewer (Virtual type in Lazy mode). I could see a strange behavior while running in Linux OS . If ever I try to expand the tree items using the  API expandAll(), the tree starts blinking/flickering, if it fail to fetch the child nodes. But this behavior was not there in Windows.


I tried to debug the code, but it went deep into some infinite loop that always try to update the tree viewer. Please see below the relevant stack trace :


Thread [main] (Suspended)       

                OS._gtk_main_do_event(long) line: not available [native method]         

OS.gtk_main_do_event(long) line: 8422              

Display.eventProc(long, long) line: 1245               

OS._gdk_window_process_updates(long, boolean) line: not available [native method]

OS.gdk_window_process_updates(long, boolean) line: 5511     

Tree(Control).update(boolean, boolean) line: 4975        

Tree(Control).update() line: 4966            

TreeModelViewer(TreeViewer).setExpanded(Item, boolean) line: 335 

TreeModelViewer(AbstractTreeViewer).internalExpandToLevel(Widget, int) line: 1757

TreeModelViewer(AbstractTreeViewer).expandToLevel(Object, int) line: 1060

TreeModelViewer(InternalTreeModelViewer).autoExpand(TreePath) line: 2063             

HasChildrenUpdate.performUpdate() line: 53

                ViewerUpdateMonitor$1.runInUIThread(IProgressMonitor) line: 99      

                UIJob$ line: 95    


Will it be any problem with our implementation ?


Please guide me on how I should proceed further.


Thanks in Advance,






***** Confidentiality Statement/Disclaimer *****

This message and any attachments is intended for the sole use of the intended recipient. It may contain confidential information. Any unauthorized use, dissemination or modification is strictly prohibited. If you are not the intended recipient, please notify the sender immediately then delete it from all your systems, and do not copy, use or print. Internet communications are not secure and it is the responsibility of the recipient to make sure that it is virus/malicious code exempt.
The company/sender cannot be responsible for any unauthorized alterations or modifications made to the contents. If you require any form of confirmation of the contents, please contact the company/sender. The company/sender is not liable for any errors or omissions in the content of this message.

cdt-dev mailing list


Attachment: org.eclipse.cdt.examples.dsf.7z
Description: org.eclipse.cdt.examples.dsf.7z

Back to the top