Feed Advanced Search

Oct 22 2018

amhndu added a comment to D16315: Offer completion after user types the scope resolution operator..

Should I land this on master or 5.3 ?

Oct 22 2018, 3:49 AM · KDevelop
amhndu updated the diff for D16326: Replace leading typed text when completing function implementation.

Created new test case for whitespace mismatch.

Oct 22 2018, 3:41 AM · KDevelop

Oct 21 2018

mwolff added inline comments to D16326: Replace leading typed text when completing function implementation.
Oct 21 2018, 7:40 PM · KDevelop
amhndu updated the diff for D16326: Replace leading typed text when completing function implementation.

Updated to use QChar overload as suggested.

Oct 21 2018, 7:02 PM · KDevelop
amhndu added a comment to D16326: Replace leading typed text when completing function implementation.

I actually changed the last test to also test for this. Should I split it to a new one ?

Oct 21 2018, 6:42 PM · KDevelop
mwolff requested changes to D16326: Replace leading typed text when completing function implementation.

can you also add a test for this new behavior with white space?

Oct 21 2018, 6:39 PM · KDevelop
mwolff added a comment to D16356: FunctionDefinition: only look for (new/other) function definition if we don't have one.

looking at the code, it really is missing there. You'll need a const cast but that's OK

Oct 21 2018, 6:36 PM · KDevelop
amhndu updated the diff for D16326: Replace leading typed text when completing function implementation.

I've changed the implementation to accomodate for whitespace, by comparing
a whitespace-stripped version of the signature and the leading text.

Oct 21 2018, 6:32 PM · KDevelop
mwolff added a comment to D16326: Replace leading typed text when completing function implementation.

Added tests in testCompleteFunction, which already has some implements-completion
tests. Should I move them to a different test, something like testImplementExecute
in a different patch or this one ?

Completion tests are also broken, crashing after executing a single test case
because of a delayed connection, triggering the slot only after the document is closed.
As a workaround, I've used

diff --git a/plugins/clang/tests/codecompletiontestbase.cpp b/plugins/clang/tests/codecompletiontestbase.cpp
index 5b351d0d27..282f7da36e 100644
--- a/plugins/clang/tests/codecompletiontestbase.cpp
+++ b/plugins/clang/tests/codecompletiontestbase.cpp
@@ -70,6 +70,7 @@ void CodeCompletionTestBase::initTestCase()
     m_projectController = new TestProjectController(core);
     core->setProjectController(m_projectController);
     ICore::self()->documentController()->closeAllDocuments();
+    QObject::disconnect(ICore::self()->documentController(), nullptr, nullptr, nullptr);
 
     ClangSettingsManager::self()->m_enableTesting = true;
 }

Which still has a crash, but only at the very end after executing everything.

Oct 21 2018, 6:15 PM · KDevelop
mwolff requested changes to D16356: FunctionDefinition: only look for (new/other) function definition if we don't have one.
Oct 21 2018, 6:08 PM · KDevelop
mwolff added a comment to D16356: FunctionDefinition: only look for (new/other) function definition if we don't have one.

I'd say this new code should go into FunctionDefinition::definition instead, no? I.e. check there whether decl is already a definition and if so return that directly?

Oct 21 2018, 6:07 PM · KDevelop
mwolff accepted D16315: Offer completion after user types the scope resolution operator..

very good idea

Oct 21 2018, 4:04 PM · KDevelop
mwolff requested changes to D16326: Replace leading typed text when completing function implementation.

lgtm in general, three small nitpicks and I'll have a look at the broken unit test now too.

Oct 21 2018, 4:02 PM · KDevelop
buschinski requested review of D16356: FunctionDefinition: only look for (new/other) function definition if we don't have one.
Oct 21 2018, 3:48 PM · KDevelop
brauch added a comment to D16064: Fix memleaks in unittests.

Can go to 5.3 in my opinion. Thank you!

Oct 21 2018, 3:28 PM · KDevelop
buschinski added a comment to D16064: Fix memleaks in unittests.

Sorry, forgot to push it. Should it go to 5.3 or master?

Oct 21 2018, 1:22 PM · KDevelop
buschinski added a comment to D16018: Fix align of doxygen comments in templates.

Thx for the review :)
I will update the patch (and post it here again).

Oct 21 2018, 9:40 AM · Frameworks, Kate

Oct 20 2018

dhaumann accepted D16018: Fix align of doxygen comments in templates.

Well, make test works for me, and if this fixes the issue for you, I'm fine with that.

Oct 20 2018, 8:07 PM · Frameworks, Kate
rjvbb added a comment to D9344: [KDevelop] : [fixed] consistent use of the project name allowing to create multiple projects in a single source tree.

One more thing: could establishing the project file name not simply be done by a method in the ProjectController class rather than by a dedicated class? Because, in how many different functions would you split that logic?

Oct 20 2018, 3:54 PM · KDevelop
cullmann added a reviewer for D16018: Fix align of doxygen comments in templates: dhaumann.

Dominik is more well versed in cstyle.js ;=)

Oct 20 2018, 3:25 PM · Frameworks, Kate
rjvbb added a comment to D16218: [KDevelop/Core]: safe signal-handler implementation.
Arguably that still stands, but it's outside my area of expertise to comment on it.
Oct 20 2018, 2:59 PM · KDevelop
rjvbb added a comment to D9344: [KDevelop] : [fixed] consistent use of the project name allowing to create multiple projects in a single source tree.
The current patch I still cannot oversee (though also due to the existing code), so I would have to grab the -1 sign for now if on the jury.
Oct 20 2018, 2:37 PM · KDevelop
aaronpuchert accepted D16218: [KDevelop/Core]: safe signal-handler implementation.

The signal handling and processing gets a +1 from me, but someone else should review the overall code structure.

Oct 20 2018, 2:04 PM · KDevelop
kossebau added a comment to D9344: [KDevelop] : [fixed] consistent use of the project name allowing to create multiple projects in a single source tree.

Rereading the patch and the related code once more, my personal opinion now is: this logic has been confusing before and only gets more confusing with the proposed patch.

Oct 20 2018, 1:07 PM · KDevelop
rjvbb set the repository for D16218: [KDevelop/Core]: safe signal-handler implementation to R32 KDevelop.
Oct 20 2018, 9:53 AM · KDevelop
rjvbb updated the diff for D16218: [KDevelop/Core]: safe signal-handler implementation.

updated as requested.

Oct 20 2018, 9:53 AM · KDevelop
rjvbb added inline comments to D16218: [KDevelop/Core]: safe signal-handler implementation.
Oct 20 2018, 9:51 AM · KDevelop
amhndu updated the diff for D16326: Replace leading typed text when completing function implementation.

Added tests in testCompleteFunction, which already has some implements-completion
tests. Should I move them to a different test, something like testImplementExecute
in a different patch or this one ?

Oct 20 2018, 8:42 AM · KDevelop

Oct 19 2018

aaronpuchert added inline comments to D16218: [KDevelop/Core]: safe signal-handler implementation.
Oct 19 2018, 8:45 PM · KDevelop
apol added a comment to D16326: Replace leading typed text when completing function implementation.

Would it be possible to get a test for this?

Oct 19 2018, 6:38 PM · KDevelop
amhndu added a reviewer for D16326: Replace leading typed text when completing function implementation: KDevelop.
Oct 19 2018, 6:36 PM · KDevelop
amhndu requested review of D16326: Replace leading typed text when completing function implementation.
Oct 19 2018, 6:33 PM · KDevelop
rjvbb set the repository for D16218: [KDevelop/Core]: safe signal-handler implementation to R32 KDevelop.
Oct 19 2018, 12:59 PM · KDevelop
rjvbb updated the diff for D16218: [KDevelop/Core]: safe signal-handler implementation.

Drops the potentially unsafe qDebug output in the signal handler, makes handlingSignal an std::atomic_bool (since we can use locks here anyway) and adds copious comments.

Oct 19 2018, 12:59 PM · KDevelop
amhndu added a reviewer for D16315: Offer completion after user types the scope resolution operator.: KDevelop.
Oct 19 2018, 12:11 PM · KDevelop
amhndu requested review of D16315: Offer completion after user types the scope resolution operator..
Oct 19 2018, 12:10 PM · KDevelop
rjvbb added a comment to D16218: [KDevelop/Core]: safe signal-handler implementation.

Still working on this and waiting on more background info from the Qt Interest ML.

Oct 19 2018, 8:57 AM · KDevelop

Oct 18 2018

rjvbb added a comment to D16218: [KDevelop/Core]: safe signal-handler implementation.
You can't use std::atomic_flag, because it's an `int`.
Oct 18 2018, 8:52 PM · KDevelop
aaronpuchert added a comment to D16218: [KDevelop/Core]: safe signal-handler implementation.

So is it enough to change to std::atomic_flag or should we use some sort of critical section with an actual lock? Because for handlingSignal that's possible as it is outside of the actual signal handler.

Oct 18 2018, 8:08 PM · KDevelop
rjvbb added a comment to D16218: [KDevelop/Core]: safe signal-handler implementation.

Any idea how we could test the race-condition scenario? I've been trying by re-raising the signal from just before and just inside the if(handlingSignal) loop and until now it has always been behaving as expected (= the if is executed only once).

Oct 18 2018, 2:06 PM · KDevelop
kossebau closed D16211: Adapt to ILanguageSupport::specialLanguageObjectNavigationWidget sig change.
Oct 18 2018, 11:10 AM · KDevelop
kossebau closed D16203: Context browser: fix handleRect for non-symbol tooltips.
Oct 18 2018, 10:29 AM · KDevelop
rjvbb added a comment to D16218: [KDevelop/Core]: safe signal-handler implementation.
This is determined by hardware support. With relevant architectures I meant architectures on which Qt/KDE applications can run, like x86, PPC, ARM. > These all have lock-free `std::atomic<bool>`, as far as I know.
Oct 18 2018, 8:16 AM · KDevelop
rjvbb added a comment to D16218: [KDevelop/Core]: safe signal-handler implementation.
I guess you can also use `std::atomic_flag`, which is guaranteed to be lock-free, and should offer enough functionality for our use case.

...

Not in the middle of an assignment, but between the read in `if (!handlingSignal)` and the write `handlingSignal = 1` it can be interrupted. That's not atomic.
Oct 18 2018, 8:03 AM · KDevelop
kfunk accepted D16203: Context browser: fix handleRect for non-symbol tooltips.

Go for it. I don't have an opinion on whether to use version 1 or 2 from an API point of view, both dont look entirely clean to me.

Oct 18 2018, 5:35 AM · KDevelop

Oct 17 2018

aaronpuchert added a comment to D16218: [KDevelop/Core]: safe signal-handler implementation.

At least std::atomic<bool> is lock-free on all relevant architectures. (I'm aware that the standard doesn't guarantee it, probably because of some embedded architectures.

But is it always lock-free on the relevant architectures? Or rather:

  • what determines if the type is lock-free
  • what are "the relevant architectures"?
Oct 17 2018, 11:55 PM · KDevelop
kossebau updated subscribers of D16203: Context browser: fix handleRect for non-symbol tooltips.

I'm not a huge fan of tuples either, for the reason you mentioned; I usually just create a two-element struct instead. In this case I think it's fairly obvious what the elements do from the types, though; the QPair<int, int> is worse ;)

Oct 17 2018, 5:15 PM · KDevelop
brauch added a comment to D16203: Context browser: fix handleRect for non-symbol tooltips.

I'm not a huge fan of tuples either, for the reason you mentioned; I usually just create a two-element struct instead. In this case I think it's fairly obvious what the elements do from the types, though; the QPair<int, int> is worse ;)
Up to you how you do this, I just wanted to point out that it is done differently in two similar places.

Oct 17 2018, 4:47 PM · KDevelop
kossebau updated the diff for D16203: Context browser: fix handleRect for non-symbol tooltips.

Use QPair also with ContextBrowserPlugin::navigationWidgetForPosition

Oct 17 2018, 4:45 PM · KDevelop
kossebau added inline comments to D16203: Context browser: fix handleRect for non-symbol tooltips.
Oct 17 2018, 4:45 PM · KDevelop
kossebau added a comment to D16203: Context browser: fix handleRect for non-symbol tooltips.

I think the change conceptually makes sense, and I am subconsciously aware of the bug it is trying to fix. If you say it works for you, it should be fine.

Oct 17 2018, 3:57 PM · KDevelop
brauch added a comment to D16203: Context browser: fix handleRect for non-symbol tooltips.

I think the change conceptually makes sense, and I am subconsciously aware of the bug it is trying to fix. If you say it works for you, it should be fine.

Oct 17 2018, 3:51 PM · KDevelop

Oct 16 2018

rjvbb added a comment to D16218: [KDevelop/Core]: safe signal-handler implementation.

At least std::atomic<bool> is lock-free on all relevant architectures. (I'm aware that the standard doesn't guarantee it, probably because of some embedded architectures.

Oct 16 2018, 10:35 PM · KDevelop
rjvbb set the repository for D9344: [KDevelop] : [fixed] consistent use of the project name allowing to create multiple projects in a single source tree to R32 KDevelop.
Oct 16 2018, 10:03 PM · KDevelop
rjvbb updated the diff for D9344: [KDevelop] : [fixed] consistent use of the project name allowing to create multiple projects in a single source tree.

Updated as suggested

Oct 16 2018, 10:02 PM · KDevelop
rjvbb added a comment to D9344: [KDevelop] : [fixed] consistent use of the project name allowing to create multiple projects in a single source tree.

Where in the code would you want a documentation of the intent of this change?
The best place might be a in the handbook or the project import wizard GUI ... but we're in string freeze, no?

Oct 16 2018, 10:01 PM · KDevelop
aaronpuchert added a comment to D16218: [KDevelop/Core]: safe signal-handler implementation.

You're right, my remarks apply to the existing code already.

Oct 16 2018, 8:33 PM · KDevelop
kossebau added inline comments to D9344: [KDevelop] : [fixed] consistent use of the project name allowing to create multiple projects in a single source tree.
Oct 16 2018, 1:08 PM · KDevelop
kossebau requested changes to D9344: [KDevelop] : [fixed] consistent use of the project name allowing to create multiple projects in a single source tree.
In D9344#339889, @rjvbb wrote:

HtH...

Oct 16 2018, 12:51 PM · KDevelop

Oct 15 2018

rjvbb added inline comments to D16218: [KDevelop/Core]: safe signal-handler implementation.
Oct 15 2018, 11:47 PM · KDevelop
aaronpuchert added inline comments to D16218: [KDevelop/Core]: safe signal-handler implementation.
Oct 15 2018, 10:28 PM · KDevelop
rjvbb set the repository for D16218: [KDevelop/Core]: safe signal-handler implementation to R32 KDevelop.
Oct 15 2018, 2:58 PM · KDevelop
rjvbb updated the diff for D16218: [KDevelop/Core]: safe signal-handler implementation.
  • Dropped the semaphore-based alternative as it would only be less resource-intensive when manhandling pthreads
  • moved almost everything back out of the CorePrivate class, keeping only the slot required for QSocketNotifier operation.
  • dropped the SIGHUP shortcut, to be resubmitted in the future
Oct 15 2018, 2:57 PM · KDevelop
rjvbb added a comment to D16218: [KDevelop/Core]: safe signal-handler implementation.
I would recommend to just not think about the Windows requirement, if you cannot test it anyway.
Oct 15 2018, 1:35 PM · KDevelop
kfunk added a comment to D16218: [KDevelop/Core]: safe signal-handler implementation.
If there is no solution which does not require two different code paths for handling this problem, I'm against merging this, non-conformant old behaviour or not, sorry.

So to repeat myself: if signal handling should work on MS Windows (and safely so) then the QSocketNotifier approach is off the table, in principle. I cannot (and do not want to) be judge of whether MS Windows should be supported here.

The semaphore-based implementation should be more direct as it doesn't go over the Qt event loop and signal/slot mechanism. That makes me inclined to prefer it.

Oct 15 2018, 11:33 AM · KDevelop
kfunk added a comment to D16218: [KDevelop/Core]: safe signal-handler implementation.

Probably because it's a patch against existing code, which needs changes due to the fact that I thought I'd had to avoid static globals.

Oct 15 2018, 11:20 AM · KDevelop
rjvbb added a comment to D16218: [KDevelop/Core]: safe signal-handler implementation.
If there is no solution which does not require two different code paths for handling this problem, I'm against merging this, non-conformant old behaviour or not, sorry.
Oct 15 2018, 10:51 AM · KDevelop
rjvbb added a comment to D16218: [KDevelop/Core]: safe signal-handler implementation.
Oct 15 2018, 10:41 AM · KDevelop
brauch added a comment to D16218: [KDevelop/Core]: safe signal-handler implementation.

If there is no solution which does not require two different code paths for handling this problem, I'm against merging this, non-conformant old behaviour or not, sorry.

Oct 15 2018, 10:35 AM · KDevelop
kfunk added a comment to D16188: Prevent QWebEngine from overriding signal handlers.

Nice find! Will cherry-pick to 5.3 branch.

Oct 15 2018, 10:30 AM · KDevelop
croick closed D16188: Prevent QWebEngine from overriding signal handlers.
Oct 15 2018, 10:29 AM · KDevelop
rjvbb set the repository for D16218: [KDevelop/Core]: safe signal-handler implementation to R32 KDevelop.
Oct 15 2018, 10:27 AM · KDevelop
kfunk requested changes to D16218: [KDevelop/Core]: safe signal-handler implementation.
Oct 15 2018, 10:26 AM · KDevelop
kfunk added a comment to D16218: [KDevelop/Core]: safe signal-handler implementation.

Sorry, but this is yet another unmergeable WIP patch of yours. Just a quick review, I'm not diving into your code (which is difficult to parse, esp. the changes in CorePrivate::initialize...) right now.

Oct 15 2018, 10:26 AM · KDevelop
arrowd added a comment to D16218: [KDevelop/Core]: safe signal-handler implementation.

Oh, misunderstanding! I simply don't have a full KF5 build environment on FreeBSD yet. I'm running TrueOS in a VM on a system that isn't exactly powerful, so I'm waiting until "Project Trident" is released with a full KF5 desktop option.

Oct 15 2018, 10:26 AM · KDevelop
rjvbb added a comment to D16218: [KDevelop/Core]: safe signal-handler implementation.
Oct 15 2018, 10:20 AM · KDevelop
rjvbb updated the diff for D16218: [KDevelop/Core]: safe signal-handler implementation.

Adds the missing #endif

Oct 15 2018, 10:14 AM · KDevelop
arrowd added inline comments to D16218: [KDevelop/Core]: safe signal-handler implementation.
Oct 15 2018, 10:04 AM · KDevelop
arrowd added a comment to D16218: [KDevelop/Core]: safe signal-handler implementation.

Re: the testing I did on FreeBSD: that's with a dedicated demonstrator; I cannot currently build KDevelop5 there.

Oct 15 2018, 10:04 AM · KDevelop
arrowd added inline comments to D16218: [KDevelop/Core]: safe signal-handler implementation.
Oct 15 2018, 10:02 AM · KDevelop
rjvbb added a comment to D16218: [KDevelop/Core]: safe signal-handler implementation.

Re: the testing I did on FreeBSD: that's with a dedicated demonstrator; I cannot currently build KDevelop5 there.

Oct 15 2018, 9:17 AM · KDevelop
rjvbb requested review of D16218: [KDevelop/Core]: safe signal-handler implementation.
Oct 15 2018, 9:15 AM · KDevelop

Oct 14 2018

apol accepted D16188: Prevent QWebEngine from overriding signal handlers.
Oct 14 2018, 10:58 PM · KDevelop
kossebau updated the summary of D16211: Adapt to ILanguageSupport::specialLanguageObjectNavigationWidget sig change.
Oct 14 2018, 7:37 PM · KDevelop
kossebau added a dependent revision for D16203: Context browser: fix handleRect for non-symbol tooltips: D16211: Adapt to ILanguageSupport::specialLanguageObjectNavigationWidget sig change.
Oct 14 2018, 7:36 PM · KDevelop
kossebau added a dependency for D16211: Adapt to ILanguageSupport::specialLanguageObjectNavigationWidget sig change: D16203: Context browser: fix handleRect for non-symbol tooltips.
Oct 14 2018, 7:36 PM · KDevelop
kossebau requested review of D16211: Adapt to ILanguageSupport::specialLanguageObjectNavigationWidget sig change.
Oct 14 2018, 7:36 PM · KDevelop
kossebau requested review of D16203: Context browser: fix handleRect for non-symbol tooltips.
Oct 14 2018, 5:34 PM · KDevelop

Oct 13 2018

croick requested review of D16188: Prevent QWebEngine from overriding signal handlers.
Oct 13 2018, 10:23 PM · KDevelop

Oct 12 2018

amhndu abandoned D15902: Consider using-directives with function implements code-completion.

The simple example

namespace A
{
    void foo();
}
Oct 12 2018, 1:56 PM · KDevelop
kfunk closed D16123: windows: Detect VS2017 compiler and tools.
Oct 12 2018, 11:32 AM · KDevelop
kfunk added a comment to D16123: windows: Detect VS2017 compiler and tools.

@Petross404 Hmm, true. Let me push my patch anyway, for now.

Oct 12 2018, 11:31 AM · KDevelop
kossebau updated the diff for D16032: Generate all kdebugsettings .categories files automatically.

Reduce to only two public macros, using TYPE argument to define details

Oct 12 2018, 10:12 AM · KDevelop
Petross404 added a comment to D16123: windows: Detect VS2017 compiler and tools.

I hate tο be a naysayer here, but shouldn't we not assume that VS2017 is installed in C:\Program Files (x86) so that we don't hardcode it's path? I remember my self installing VS once in another drive, because C:\ was tiny and full.

Oct 12 2018, 9:16 AM · KDevelop
brauch accepted D16123: windows: Detect VS2017 compiler and tools.

I also find this reasonably simple to read. The "type your compiler arch" thing is extremely 80s of course, but the whole concept is a hack :/

Oct 12 2018, 7:29 AM · KDevelop
Petross404 added a comment to D16123: windows: Detect VS2017 compiler and tools.

This batch file seems very clean and simple, I like it. Unfortunately I can't help reviewing this patch as I no longer have access to Windows machines and I don't a dual-boot system :(

Oct 12 2018, 4:52 AM · KDevelop

Oct 11 2018

kossebau added a comment to D16032: Generate all kdebugsettings .categories files automatically.
In D16032#341315, @apol wrote:
In D16032#340668, @apol wrote:

Considering we're doing our own macro, we can be also more succint. I don't see why we can't have declare_plugin_qt_logging_category(targetname)

You can use target_sources() instead of adding it to the variable.

You mentioned something about target in an earlier comment. But I still have no idea what you mean here and what should be generated how, could you please give an explicit example, to help aligning my brain with yours? :)

Does that make sense to you?

<snip sample>

Oct 11 2018, 4:11 PM · KDevelop
apol added a comment to D16032: Generate all kdebugsettings .categories files automatically.
In D16032#340668, @apol wrote:

Considering we're doing our own macro, we can be also more succint. I don't see why we can't have declare_plugin_qt_logging_category(targetname)

You can use target_sources() instead of adding it to the variable.

You mentioned something about target in an earlier comment. But I still have no idea what you mean here and what should be generated how, could you please give an explicit example, to help aligning my brain with yours? :)

Oct 11 2018, 3:04 PM · KDevelop
kfunk updated the diff for D16123: windows: Detect VS2017 compiler and tools.

Check whether base is defined at another place

Oct 11 2018, 6:52 AM · KDevelop
kfunk added a reviewer for D16123: windows: Detect VS2017 compiler and tools: Petross404.
Oct 11 2018, 6:46 AM · KDevelop