Bug 205494 - modifying a headerfile and ctrl+tab sometimes refuses to switch tab
Summary: modifying a headerfile and ctrl+tab sometimes refuses to switch tab
Status: RESOLVED WORKSFORME
Alias: None
Product: kdevelop
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: kdevelop-bugs-null
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-08-28 16:07 UTC by Jonas Nyrén
Modified: 2009-11-15 23:22 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jonas Nyrén 2009-08-28 16:07:36 UTC
Version:           svn r1015724 (using KDE 4.3.0)
Compiler:          gcc 4.4.1 
OS:                Linux
Installed from:    Unlisted Binary Package

When I have (among other things) a header file and the .cpp implementation file open in 2 tabs and I modify the header file it triggers a "rescan" of the .cpp file - this is fine, except if you aren't fast enough to ctrl+tab back to the .cpp file it won't switch to that tab. It will simply stay in the header file tab.

It's tricky to describe.. So I'll try to give some more in-detail description.
1) open foo.h and foo.cpp
2) go to foo.h tab and change something - add a class member or a function definition for example.
3) now it will trigger a rescan of the headerfile (blue progress bar in the status bar). I'm unsure if it is just rescanning the header file or if it also scans any other files that include this header file as well (i think so?) or if it just reparses the .cpp file when i switch to it.
4) this is the tricky part - how to consistently reproduce it. but on my rather slow CPU (athlon xp 2400+) if i wait for about half a second after i made my last change and press ctrl+tab just once to get back to the .cpp file (if that was where i was prior to switching to the header file tab) - it won't switch to the .cpp file. It will display the list of open tabs but I'm still in the header file tab. If I switch fast enough or slow enough, it will however send me to the .cpp tab.

background parser delay is set to 500ms and 1 thread.
Comment 1 Andreas Pakulat 2009-08-28 21:15:26 UTC
(In reply to comment #0)

> 3) now it will trigger a rescan of the headerfile (blue progress bar in the
> status bar). I'm unsure if it is just rescanning the header file or if it also
> scans any other files that include this header file as well (i think so?) or if
> it just reparses the .cpp file when i switch to it.

It'll reparse the header and any .cpp files that include this header.

> 4) this is the tricky part - how to consistently reproduce it. but on my rather
> slow CPU (athlon xp 2400+) if i wait for about half a second after i made my
> last change and press ctrl+tab just once to get back to the .cpp file (if that
> was where i was prior to switching to the header file tab) - it won't switch to
> the .cpp file. It will display the list of open tabs but I'm still in the
> header file tab. If I switch fast enough or slow enough, it will however send
> me to the .cpp tab.

So with "hit ctrl+tab" you mean you press and release it right? Or do you just press it?
Comment 2 Jonas Nyrén 2009-08-30 13:32:32 UTC
(In reply to comment #1)

> 
> So with "hit ctrl+tab" you mean you press and release it right? Or do you just
> press it?

Yes, hit ctrl+tab = press&release :)
Comment 3 Andreas Pakulat 2009-11-15 23:22:03 UTC
I can't reproduce this here and afaik no other developer can. Somebody who can look at the code and can reproduce this is needed to do anything about it. I'm sorry.