The whole UI would freeze when I click 'show uses' of functions or macros in the editor, until I switch to another application window and wait for a few seconds. Reproducible: Sometimes Steps to Reproduce: 1. Write an arbitrary function or macro 2. Move cursor over it, and click 'show uses' 3. It freezes Actual Results: The UI freezes for a few seconds and then comes back normal. Expected Results: No freezing. It happens when I click 'show uses' of a GLEW macros glClearColor(), glClear(), functions glewInit(), glViewport() and some other macros or functions. printf() has no bugs.
Can you disclose the project this is happening on?
Created attachment 98592 [details] Running a code having arbitrary functions this screenshot shows that it works smoothly for the code that has arbitrary function calls in it and it works totally fine on my kdevelop environment
this is the code I used from cplusplus.com as an example: it works perfectly fine when I do Move cursor over it, and click 'show uses' //code from here // function example #include <iostream> // std::cout #include <functional> // std::function, std::negate // a function: int half(int x) {return x/2;} // a function object class: struct third_t { int operator()(int x) {return x/3;} }; // a class with data members: struct MyValue { int value; int fifth() {return value/5;} }; int main () { std::function<int(int)> fn1 = half; // function std::function<int(int)> fn2 = ½ // function pointer std::function<int(int)> fn3 = third_t(); // function object std::function<int(int)> fn4 = [](int x){return x/4;}; // lambda expression std::function<int(int)> fn5 = std::negate<int>(); // standard function object std::cout << "fn1(60): " << fn1(60) << '\n'; std::cout << "fn2(60): " << fn2(60) << '\n'; std::cout << "fn3(60): " << fn3(60) << '\n'; std::cout << "fn4(60): " << fn4(60) << '\n'; std::cout << "fn5(60): " << fn5(60) << '\n'; // stuff with members: std::function<int(MyValue&)> value = &MyValue::value; // pointer to data member std::function<int(MyValue&)> fifth = &MyValue::fifth; // pointer to member function MyValue sixty {60}; std::cout << "value(sixty): " << value(sixty) << '\n'; std::cout << "fifth(sixty): " << fifth(sixty) << '\n'; return 0; }
Maybe I did not emphasize the condition. In my desktop environment, it freezes when I click 'show uses' to the OpenGL glfw functions or macros, maybe you could try it out in a OpenGL project. For your example, I got no freezing as well, so it may be the problem of some specific projects on specific libraries. (In reply to Akshay from comment #3) > this is the code I used from cplusplus.com as an example: > it works perfectly fine when I do > Move cursor over it, and click 'show uses' > > > //code from here > // function example > #include <iostream> // std::cout > #include <functional> // std::function, std::negate > > // a function: > int half(int x) {return x/2;} > > // a function object class: > struct third_t { > int operator()(int x) {return x/3;} > }; > > // a class with data members: > struct MyValue { > int value; > int fifth() {return value/5;} > }; > > int main () { > std::function<int(int)> fn1 = half; // function > std::function<int(int)> fn2 = ½ // function pointer > std::function<int(int)> fn3 = third_t(); // function object > std::function<int(int)> fn4 = [](int x){return x/4;}; // lambda expression > std::function<int(int)> fn5 = std::negate<int>(); // standard > function object > > std::cout << "fn1(60): " << fn1(60) << '\n'; > std::cout << "fn2(60): " << fn2(60) << '\n'; > std::cout << "fn3(60): " << fn3(60) << '\n'; > std::cout << "fn4(60): " << fn4(60) << '\n'; > std::cout << "fn5(60): " << fn5(60) << '\n'; > > // stuff with members: > std::function<int(MyValue&)> value = &MyValue::value; // pointer to data > member > std::function<int(MyValue&)> fifth = &MyValue::fifth; // pointer to > member function > > MyValue sixty {60}; > > std::cout << "value(sixty): " << value(sixty) << '\n'; > std::cout << "fifth(sixty): " << fifth(sixty) << '\n'; > > return 0; > }
@Soaph: Please provide a minimal working example so we can reproduce your issue. See: http://stackoverflow.com/help/mcve
Created attachment 98654 [details] Screen Record of Bug Reproducing
The newly added attachment is the screen record of the bug reproducing. In the video, the example project is a normal terminal project. 1. added include search folder of the glfw header files. 2. the bug emitting function is actually a macro.
I tried writing a sample code as you demonstrated I did not find any problem in that maybe it varies with operating system I am using ubuntu 14.04
(In reply to Akshay from comment #8) > I tried writing a sample code as you demonstrated I did not find any problem > in that maybe it varies with operating system I am using ubuntu 14.04 Maybe, I compiled it from git, and I am using Arch Linux.
Thank you for reporting this bug in KDE software. As it has been a while since this issue was reported, can we please ask you to see if you can reproduce the issue with a recent software version? If you can reproduce the issue, please change the status to "REPORTED" when replying. Thank you!
Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please mark the bug as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone!
This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging Thank you for helping us make KDE software even better for everyone!