Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

加载 Mod 列表 UI 失败:指定的 Visual 已经是另一个 Visual 的子级或者已经是 CompositionTarget 的根 #3092

Closed
1 task done
WEDFVV opened this issue Jan 7, 2024 · 35 comments
Labels
· Bug 完成 已被处理,将在下次更新之后生效

Comments

@WEDFVV
Copy link

WEDFVV commented Jan 7, 2024

检查项

描述

打开mod管理报错

重现步骤

1、点击版本设置
2、mod管理

日志与附件

Log1.txt

@WEDFVV WEDFVV added · Bug 新提交 需要社区初步确认其有效的新提交 labels Jan 7, 2024
@burningtnt
Copy link

版本为 2.6.13,可见:

加载 Mod 列表 UI 失败:指定的 Visual 已经是另一个 Visual 的子级或者已经是 CompositionTarget 的根。
   在 PCL.PageVersionMod.RefreshResult(List`1 Mods)
   在 PCL.PageVersionMod.LoadUIFromLoaderOutput()
错误类型:System.ArgumentException

@allMagicNB
Copy link
Contributor

关键部分:

[16:03:47.829] 加载 Mod 列表 UI 失败:指定的 Visual 已经是另一个 Visual 的子级或者已经是 CompositionTarget 的根。
   在 System.Windows.Media.VisualCollection.Add(Visual visual)
   在 System.Windows.Controls.UIElementCollection.AddInternal(UIElement element)
   在 PCL.PageVersionMod.RefreshResult(List`1 Mods)
   在 PCL.PageVersionMod.LoadUIFromLoaderOutput()
错误类型:System.ArgumentException
[16:03:47.843] [Control] 普通弹窗:出现错误
加载 Mod 列表 UI 失败:指定的 Visual 已经是另一个 Visual 的子级或者已经是 CompositionTarget 的根。
   在 PCL.PageVersionMod.RefreshResult(List`1 Mods)
   在 PCL.PageVersionMod.LoadUIFromLoaderOutput()
错误类型:System.ArgumentException

是否反馈此问题?如果不反馈,这个问题可能永远无法得到解决!

@WForst-Breeze WForst-Breeze added 等待确认 已经过社区确认,等待开发者确认 and removed 新提交 需要社区初步确认其有效的新提交 labels Jan 7, 2024
@burningtnt
Copy link

看起来像是文档树构建的时候,有个子节点被挂到两个父下面了……

@allMagicNB
Copy link
Contributor

allMagicNB commented Jan 7, 2024

未复现成功
Screenshot_20240107_161510_youqu.android.todesk_edit_477788675845843.jpg

被占用了应该

@LTCatt LTCatt added 处理中 开发者正在调查或处理该项 and removed 等待确认 已经过社区确认,等待开发者确认 labels Jan 7, 2024
@SALTWOOD
Copy link
Contributor

SALTWOOD commented Jan 7, 2024

复现成功,确认不是个别现象

@allMagicNB
Copy link
Contributor

issue标题不太具体,是要安装了mod再进去才会触发

@SALTWOOD
Copy link
Contributor

SALTWOOD commented Jan 7, 2024

复现方法:将同一个模组复制两份,然后保证两个模组文件一个被启用一个被禁用

malilib-fabric-1.20.2-0.17.0.jar
malilib-fabric-1.20.2-0.17.0.jar.disabled

@hejiehao hejiehao mentioned this issue Jan 7, 2024
1 task
@LTCatt
Copy link
Member

LTCatt commented Jan 7, 2024

复现方法:将同一个模组复制两份,然后保证两个模组文件一个被启用一个被禁用

malilib-fabric-1.20.2-0.17.0.jar
malilib-fabric-1.20.2-0.17.0.jar.disabled

正常操作下不会出现这种情况吧……除非刻意触发……

@burningtnt
Copy link

正常操作下不会出现这种情况吧……除非刻意触发……

倒也不至于。如果用户在 PCL2 里先禁用了这个模组,然后忘记了,再去下载了一份,就爆炸了
还是有必要修的

@JingHai-Lingyun JingHai-Lingyun mentioned this issue Jan 9, 2024
1 task
@ghost
Copy link

ghost commented Jan 9, 2024

我在搞一个1.20.1的存档,下了两个malilib,他就报错了,但是我两个都是malilib都是启用的a

@JingHai-Lingyun
Copy link
Collaborator

总结:新的 UI 没法解析一个 Mod 存在了两次的情况

@iPodtouch6557
Copy link

iPodtouch6557 commented Jan 10, 2024

复现方法:将同一个模组复制两份,然后保证两个模组文件一个被启用一个被禁用

malilib-fabric-1.20.2-0.17.0.jar
malilib-fabric-1.20.2-0.17.0.jar.disabled

啊,我这么干都两三年了……就是崩了mod重装,然后也没失败
但是如何做到这一点啊,就是先装一个malilib-fabric-1.20.2-0.17.0.jar,另一个malilib-fabric-1.20.2-0.17.0(1).jar,然后给第二个手工删去(1),加disabled是吧,这倒是没试过
不过这是刻意触发了,我觉得

@WForst-Breeze
Copy link
Collaborator

啊,我这么干都两三年了……就是崩了mod重装,然后也没失败 但是如何做到这一点啊,就是先装一个malilib-fabric-1.20.2-0.17.0.jar,另一个malilib-fabric-1.20.2-0.17.0(1).jar,然后给第二个手工删去(1),加disabled是吧,这倒是没试过 不过这是刻意触发了,我觉得

事实上步骤会简单很多,只需要下载好一个 malilib-fabric-1.20.2-0.17.0.jar,而后禁用为 .jar.disabled,然后再装一个 malilib-fabric-1.20.2-0.17.0.jar 就可以触发。有时候确实会在调试整合包的时候临时禁用一个 mod 然后过了会忘了,结果又下一个,个人感觉有必要修复此问题🤔

@allMagicNB
Copy link
Contributor

……要么下载时检测Mod名.jar.disabled是否存在,存在的话提示下
要么就优化显示UI……加载每个Mod时检测同目录下有无存在同样的Mod名.jar.disabled(若已经是.jar.disabled就检测不包含.disabled的)

@allMagicNB
Copy link
Contributor

还是有必要修的,短短几天已经有三四个issue提到的都是此事了,证明还真的会有人这么做(

@WorldHim
Copy link
Collaborator

……要么下载时检测Mod名.jar.disabled是否存在,存在的话提示下
要么就优化显示UI……加载每个Mod时检测同目录下有无存在同样的Mod名.jar.disabled(若已经是.jar.disabled就检测不包含.disabled的)

这个只能算是阻断 bug 发生而没有实质性的进行修复。。

@LiteCat0905
Copy link

我有一个100%报错的方法,将Mod拖入Mod列表,之后PCL会开始加载Mod列表在加载还没出现Mod列表的时候点击返回按钮回到主页后提示该错误

@LiteCat0905
Copy link

复现方法:将同一个模组复制两份,然后保证两个模组文件一个被启用一个被禁用

malilib-fabric-1.20.2-0.17.0.jar
malilib-fabric-1.20.2-0.17.0.jar.disabled

正常操作下不会出现这种情况吧……除非刻意触发……

image
有1点破防了,他现在刚输入就炸了 甚至弹框都奇怪起来了!然后PCL就崩了

@allMagicNB
Copy link
Contributor

出现该错误后如果在搜索栏搜索会直接闪退:(
应该是新版本才有的,更新前未发现此问题

不要复制粘贴搞那么长……
如果真的需要传输这么长的内容,也请单独粘贴到一个或多个文件里,然后再上传……

@junugo
Copy link

junugo commented Feb 12, 2024

我成功报错了,但是还是成功显示出了页面?我先是正常的,然后去mod下载的搜索界面搜索了一些内容,回来就发生这个报错

@MF-Dust
Copy link

MF-Dust commented Feb 13, 2024

遇到了,日志如下
Log1.txt
Log2.txt
Log3.txt
Log4.txt
Log5.txt

@WEDFVV
Copy link
Author

WEDFVV commented Jun 23, 2024

请求解锁隐藏主题qwq

@SALTWOOD
Copy link
Contributor

请求解锁隐藏主题qwq

sensei,给识别码龙猫才能给你开(

@WEDFVV
Copy link
Author

WEDFVV commented Jun 23, 2024

请求解锁隐藏主题qwq

sensei,给识别码龙猫才能给你开(

直接发这里会不会不好?)

@Deep-Dark-Forest
Copy link
Collaborator

Deep-Dark-Forest commented Jun 23, 2024

请求解锁隐藏主题qwq

sensei,给识别码龙猫才能给你开(

?Log1.txt 里面不已经有识别码了吗(

@LTCatt
Copy link
Member

LTCatt commented Jun 23, 2024

你的解锁码:EK5V63ErMPDkp0CaJv5C1asY9DgugHDw
在 更多 → 关于与鸣谢 → 输入解锁码 中使用,谢谢支持~

@WEDFVV
Copy link
Author

WEDFVV commented Jun 23, 2024

谢谢!

@wuliaodexiaoluo
Copy link
Contributor

直接发这里会不会不好?)

识别码不会暴露任何信息
解锁码也只有你一个人能用

@WEDFVV
Copy link
Author

WEDFVV commented Jul 4, 2024

直接发这里会不会不好?)

识别码不会暴露任何信息 解锁码也只有你一个人能用

嗯嗯,感谢解答

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
· Bug 完成 已被处理,将在下次更新之后生效
Projects
None yet
Development

No branches or pull requests