syagdiran
(Şevket YAĞDIRAN)
Ocak 14, 2018, 8:57ös
1
Merhaba. Dropbox’u kullanabilmek için Nautilus Dosya Sistemi kullanmak istiyorum. Fakat masaüstündeki her hangi bir belgeyi kesip başka bir klasöre yapıştırmaya çalışınca çöküyor ve bir daha çalışmıyor.
Uç Birim Çıktısı Şu Şekilde:
sevket@Sevket:~$ nautilus
Initializing nautilus-dropbox 2015.10.28
**
ERROR:nautilus-file.c:580:nautilus_file_new_from_filename: assertion failed: (filename[0] != ‘\0’)
İptal edildi
sevket@Sevket:~$
Yunusemre
(Yunusemre Şentürk)
Ocak 15, 2018, 5:27öö
2
Merhaba @syagdiran bey,
Yaşadığınız durum nautilus bug ı rapor edilmiş,
opened 07:54AM - 20 Nov 17 UTC
closed 02:10AM - 18 Jan 18 UTC
Something is not correct with the copy/cut->paste in libfm-qt
1. Open pcmanfm… -qt
2. Open nautilus
3. Cut/Copy a file in pcmanfm-qt
4. Click into nautilus to paste the file //all good
5. compile libfm-qt-master/src/test/test-folderview.cpp
6. copy/cut a file there
7. Click into nautilus to paste the file //nautilus crashes with
```
ERROR:../src/nautilus-file.c:584:nautilus_file_new_from_filename: assertion failed: (filename[0] != '\0')
Aborted (core dumped)
```
This seems to be an issue with the clipboard implementation of libfm-qt as the following example program crashes for me too. I suspect depending on the place of the crash that somehow the clipboard data does not look exactly like it should or _convertPath not converting like expected.
```
....
Q_INVOKABLE void pasteFiles(QString pathToSomeFile) //like "/home/you/testfolder/test.txt
{
auto uri = Fm::FilePath::fromPathStr(pathToSomeFile.toLocal8Bit().constData());
auto home = Fm::FilePath::homeDir();
Fm::pasteFilesFromClipboard(home);
}
....
```
where the crash is interestingly in path.h::386 which serves the same purpose as the thing nautilus crashes with
```
static Path newForGfile(GFile* gf) {
return Path::wrapPtr(fm_path_new_for_gfile(gf));
}
```
```
Thread 1 (Thread 0x7ffff7fb3f40 (LWP 25276)):
#0 0x00007ffff7baf7c3 in fm_path_ref () at /lib64/libfm.so.4
#1 0x00007ffff7bb049a in fm_path_new_for_uri () at /lib64/libfm.so.4
#2 0x00007ffff7bb02d2 in fm_path_new_for_str () at /lib64/libfm.so.4
#3 0x00007ffff7bb0590 in fm_path_new_for_gfile () at /lib64/libfm.so.4
#4 0x000000000046f460 in Fm::Path::newForGfile(_GFile*) (gf=0x835580) at ../untitled1/path.h:387
#5 0x000000000046f734 in Fm::_convertPath(Fm::FilePath const&) (path=...) at ../untitled1/core/compat_p.h:19
__PRETTY_FUNCTION__ = "Fm::Path Fm::_convertPath(const Fm::FilePath&)"
#6 0x000000000046f7de in Fm::_convertPathList(std::vector<Fm::FilePath, std::allocator<Fm::FilePath> > const&) (srcFiles=...) at ../untitled1/core/compat_p.h:25
file = @0xbd59f0: {gfile_ = {gobj_ = 0x835580}, static homeDir_ = {gfile_ = {gobj_ = 0x954300}, static homeDir_ = <same as static member of an already seen type>}}
__for_range = @0x7fffffffb0b0: {<std::_Vector_base<Fm::FilePath, std::allocator<Fm::FilePath> >> = {_M_impl = {<std::allocator<Fm::FilePath>> = {<__gnu_cxx::new_allocator<Fm::FilePath>> = {<No data fields>}, <No data fields>}, _M_start = 0xbd59f0, _M_finish = 0xbd59f8, _M_end_of_storage = 0xbd59f8}}, <No data fields>}
__for_begin = {_M_current = 0xbd59f0}
__for_end = {_M_current = 0xbd59f8}
ret = {dataPtr_ = 0x7fffd001b700}
#7 0x00000000004bae2c in Fm::FileOperation::FileOperation(Fm::FileOperation::Type, std::vector<Fm::FilePath, std::allocator<Fm::FilePath> >, QObject*) (this=0x3213ac0, type=Fm::FileOperation::Move, srcFiles=..., parent=0x0) at ../untitled1/fileoperation.cpp:37
#8 0x00000000004bc11d in Fm::FileOperation::moveFiles(std::vector<Fm::FilePath, std::allocator<Fm::FilePath> >, Fm::FilePath) (srcFiles=..., dest=...) at ../untitled1/fileoperation.cpp:254
op = 0x7fffffffb298
#9 0x00000000004d3e8e in Fm::pasteFilesFromClipboard(Fm::FilePath const&, QWidget*) (destPath=..., parent=0x0) at ../untitled1/utilities.cpp:111
__PRETTY_FUNCTION__ = "void Fm::pasteFilesFromClipboard(const Fm::FilePath&, QWidget*)"
clipboard = 0x8b8870
data = 0x32123f0
paths = {<std::_Vector_base<Fm::FilePath, std::allocator<Fm::FilePath> >> = {_M_impl = {<std::allocator<Fm::FilePath>> = {<__gnu_cxx::new_allocator<Fm::FilePath>> = {<No data fields>}, <No data fields>}, _M_start = 0x2f039e0, _M_finish = 0x2f039e8, _M_end_of_storage = 0x2f039e8}}, <No data fields>}
isCut = true
#10 0x00000000004e7a7c in Fm::ProxyFolderModel::pasteFiles(QString) (this=0x898490, filePath=...) at ../untitled1/proxyfoldermodel.h:92
folderPath = {gfile_ = {gobj_ = 0x95b220}, static homeDir_ = {gfile_ = {gobj_ = 0x954300}, static homeDir_ = <same as static member of an already seen type>}}
home = {gfile_ = {gobj_ = 0x954300}, static homeDir_ = {gfile_ = {gobj_ = 0x954300}, static homeDir_ = <same as static member of an already seen type>}}
clipboard = 0x8b8870
data = 0x32123f0
__PRETTY_FUNCTION__ = "void Fm::ProxyFolderModel::pasteFiles(QString)"
#11 0x00000000004e7293 in Fm::ProxyFolderModel::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0x898490, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0x7fffffffb490) at moc_proxyfoldermodel.cpp:116
_t = 0x898490
```
Yeni versiyonda düzeltirler umarım, sadece kesme işleminde yapıyor sanırım.
Selamlar.
2 Beğeni